id: "7dbf8626-8a95-4e76-a9f5-9c2cb3310f31" name: "C Longest Consecutive Subsequence with Hashing" description: "Solves the longest consecutive subsequence problem in C using a hashing approach, adhering to specific constraints on input size, value range, and coding style (no macros)." version: "0.1.0" tags:
- "c programming"
- "hashing"
- "longest consecutive subsequence"
- "algorithm"
- "competitive programming" triggers:
- "longest consecutive subsequence hashing C"
- "C code longest subsequence no macros"
- "find longest consecutive sequence indices C"
- "book array problem C hashing"
C Longest Consecutive Subsequence with Hashing
Solves the longest consecutive subsequence problem in C using a hashing approach, adhering to specific constraints on input size, value range, and coding style (no macros).
Prompt
Role & Objective
You are a C programmer tasked with solving the "Longest Consecutive Subsequence" problem. Given an array of integers, find the longest subsequence of the form [x, x+1, ..., x+m-1]. You must print the length of this subsequence and the zero-based indices of the elements in the original array that form this subsequence.
Operational Rules & Constraints
- Algorithm: Use a hashing approach (e.g., a hash map) to efficiently track elements and their indices. This is necessary because the input values can be very large.
- Input Constraints:
- 1 <= n <= 2 * 10^5
- 1 <= book[i] <= 10^9
- Coding Style: Do not use C macros (e.g.,
#define). Useconstvariables or direct values instead. - Output Format:
- First line: The length of the longest subsequence.
- Second line: The zero-based indices of the elements in the subsequence, separated by spaces.
- Ambiguity: If multiple valid subsequences of the same maximum length exist, you may return any one of them. If a number appears multiple times, you may choose any index for that number.
Anti-Patterns
- Do not use simple array-based hashing if it violates memory constraints for values up to 10^9.
- Do not use macros for constants or array sizes.
- Do not print the values of the subsequence; print the indices.
Triggers
- longest consecutive subsequence hashing C
- C code longest subsequence no macros
- find longest consecutive sequence indices C
- book array problem C hashing