> ## Documentation Index
> Fetch the complete documentation index at: https://docs.hnuicpc.tech/llms.txt
> Use this file to discover all available pages before exploring further.

# FAQ

> Frequently asked questions about the HNU ICPC Community and competitive programming.

## General

<AccordionGroup>
  <Accordion title="Do I need to know programming to join?">
    Not necessarily! While basic programming knowledge helps, we welcome complete beginners. Our [Getting Started](/getting-started) guide will help you set up and our community members are happy to help you learn.
  </Accordion>

  <Accordion title="Which programming language should I learn?">
    We strongly recommend **C++** for competitive programming. It's the most widely used language in CP, has the fastest execution time, and the Standard Template Library (STL) provides powerful built-in data structures and algorithms. Python is acceptable for beginners but can be too slow for some problems.
  </Accordion>

  <Accordion title="How much time do I need to invest?">
    Consistency is more important than hours. We recommend **1–2 hours daily** or at least **5–7 hours per week**. Even 30 minutes of focused problem-solving every day will lead to significant improvement over time.
  </Accordion>

  <Accordion title="I'm not from FCSIT. Can I join?">
    Yes! While the community is based at FCSIT, we welcome students from all faculties at HNU and even from other universities. Competitive programming has no boundaries.
  </Accordion>
</AccordionGroup>

## ICPC & competitions

<AccordionGroup>
  <Accordion title="What is ICPC?">
    The **International Collegiate Programming Contest** is the oldest and most prestigious programming competition for university students. Teams of 3 compete to solve algorithmic problems in 5 hours using one computer.
  </Accordion>

  <Accordion title="How do I form an ICPC team?">
    Teams are formed within our community. We help match members based on skill level and compatibility. Typically, team formation happens in **September–October** before the ECPC regional qualifier.
  </Accordion>

  <Accordion title="What's the ICPC progression path?">
    1. **ECPC** (Egyptian CPC) — National qualifier, usually in October
    2. **ACPC** (Arab CPC) — Regional contest, usually in November
    3. **ICPC Africa & Arab Regional** — Regional qualifier
    4. **ICPC World Finals** — Top teams from regionals qualify
  </Accordion>

  <Accordion title="What topics should I know for ICPC?">
    ICPC problems cover a wide range of topics. At minimum, you should be comfortable with: data structures (arrays, sets, maps, segment trees), algorithms (sorting, searching, DP, greedy, graph algorithms), math (number theory, combinatorics), and string algorithms. Our [Tutorials](/getting-started) section covers all of these.
  </Accordion>
</AccordionGroup>

## Practice & improvement

<AccordionGroup>
  <Accordion title="I keep getting Wrong Answer. What should I do?">
    1. Re-read the problem statement carefully
    2. Check edge cases (n=0, n=1, maximum values)
    3. Test with custom test cases
    4. Check for integer overflow (use `long long`)
    5. Make sure your I/O is correct (no extra whitespace or newlines)
  </Accordion>

  <Accordion title="How long should I try a problem before giving up?">
    For practice: try for **30–60 minutes**. If you're completely stuck, read the editorial, understand the approach, close it, and implement it yourself without looking. For contests: move to another problem if you're stuck for more than 20 minutes.
  </Accordion>

  <Accordion title="What's the difference between Div 1 and Div 2 on Codeforces?">
    * **Div 2**: For rated users below 1900. Problems range from 800 to \~2200 difficulty.
    * **Div 1**: For rated users 1900+. Problems are harder, ranging from \~1500 to 3000+.
    * **Div 1+2**: Combined, with a wider range of problems suitable for everyone.

    Beginners should start with **Div 2** contests.
  </Accordion>
</AccordionGroup>
