Milestone map
Milestone map
3 milestones
Establish a Rating on Codeforces or Equivalent
3–6 months (consistent practice)
Create a verified account on Codeforces (or equivalent rated platform: AtCoder, ICPC Online Judge). Participate in at least five rated contests. Develop foundational problem-solving skills: greedy algorithms, basic dynamic programming, binary search, and standard data structures (heaps, segment trees, hash maps). Achieve a rating of at least 1,200 on Codeforces (or equivalent: AtCoder 400+).
Proof required
Submit: a link to your public Codeforces (or equivalent platform) profile showing your current rating, contest participation history, and at least five participated rated contests; and a screenshot of your rating graph. The rating and participation history must be on the official platform — not self-reported.
What gets checked
- Profile is on a recognised rated platform — Codeforces, AtCoder, or ICPC Online Judge
- At least five rated contests participated in — not practice sessions or unofficial contests
- Rating of at least 1,200 on Codeforces (or platform-equivalent) — not just an account creation
Common mistakes
- Practising only on unrated platforms where no official rating exists
- Participating in rated contests without solving any problems — the rating requires actually solving problems under contest conditions
Resources
Foundationstart here
Depthgo deeper
What a verifier looks for
- Is the profile link on an official rated platform — not a personal website or screenshot?
- Are at least five rated contests in the history — not practice rounds?
- Is the rating at least 1,200 on Codeforces (or platform-equivalent) on the official profile?
Reach a Division 2 Solver Rating
6–18 months (after milestone 1)
Continue competing in rated contests and develop skills in intermediate topics: graph algorithms (BFS/DFS, shortest paths, MST), dynamic programming (knapsack, LCS, DP on trees), number theory (GCD, modular arithmetic, primality), and combinatorics. Reach a rating of at least 1,600 on Codeforces (Specialist) or equivalent (AtCoder 800+).
Proof required
Submit: a link to your public Codeforces (or equivalent) profile showing a rating of at least 1,600 (Codeforces Specialist or equivalent); and a screenshot of your contest history showing consistent participation at Division 2 level over at least ten contests.
What gets checked
- Rating of at least 1,600 on Codeforces (or equivalent) on the official platform
- At least ten rated contests in the history at Division 2 or equivalent level
- The rating has been sustained for at least two weeks — not a single-contest peak
Common mistakes
- Only solving easy A and B problems without attempting harder problems — reaching 1,600 requires consistently solving C problems
- Upsolving without understanding — looking at editorial solutions without internalising the technique
Resources
Foundationstart here
Depthgo deeper
What a verifier looks for
- Is the rating at least 1,600 on the official platform?
- Are at least ten rated contests in the history?
- Has the rating been sustained for at least two weeks — not a single peak?
Reach Candidate Master or Equivalent
1–3 years (after milestone 2 — this is a genuinely hard milestone)
Reach a Codeforces rating of at least 1,900 (Candidate Master) or equivalent (AtCoder 1,200+). This requires mastery of advanced topics: segment trees, heavy-light decomposition, advanced DP techniques (bitmask DP, DP on broken profile), FFT, flow algorithms, and string algorithms (suffix arrays, Aho-Corasick).
Proof required
Submit: a link to your public Codeforces (or equivalent) profile showing a rating of at least 1,900 (Candidate Master) or equivalent; and a written explanation (200 words) of the two advanced topics that were hardest to learn and what specifically made them difficult — naming the specific concept or technique that caused confusion.
What gets checked
- Rating of at least 1,900 on Codeforces (Candidate Master) or platform-equivalent on the official profile
- Rating sustained for at least one month — not a single-contest peak
- 200-word explanation names specific concepts that caused difficulty — not 'advanced topics were hard'
Common mistakes
- Attempting to memorise solutions rather than internalising the underlying pattern — patterns at this level require deep understanding, not recall
- Avoiding contest participation during training — the rating requires real-time solving under contest conditions
Resources
Foundationstart here
Depthgo deeper
What a verifier looks for
- Is the rating at least 1,900 on the official platform profile?
- Has the rating been sustained for at least one month?
- Read the 200-word explanation: does it name specific concepts — not 'advanced topics were hard'?