# 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).

- Skill: `ecnu-icalk/c-longest-consecutive-subsequence-with-hashing` (Agent Skill)
- Install (CLI): `npx skillmds@latest add ecnu-icalk/c-longest-consecutive-subsequence-with-hashing`
- Raw SKILL.md: https://api.skillmd.com/api/skills/ecnu-icalk/c-longest-consecutive-subsequence-with-hashing/raw
- Safety review: pending (external: skill-scanner PASS, skillspector PASS)
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Coding & Dev Tools
- Author: ECNU-ICALK (https://skillmd.com/u/ecnu-icalk)
- Updated: 2026-09-08
- Page: https://skillmd.com/skills/ecnu-icalk/c-longest-consecutive-subsequence-with-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

