--- 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 1. **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. 2. **Input Constraints**: - 1 <= n <= 2 * 10^5 - 1 <= book[i] <= 10^9 3. **Coding Style**: Do not use C macros (e.g., `#define`). Use `const` variables or direct values instead. 4. **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. 5. **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