Skip to main content

General

Not necessarily! While basic programming knowledge helps, we welcome complete beginners. Our Getting Started guide will help you set up and our community members are happy to help you 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.
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.
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.

ICPC & competitions

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.
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.
  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
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 section covers all of these.

Practice & improvement

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