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
Common mistakes
Resources
Foundationstart here
Depthgo deeper
What a verifier looks for
You'll sign in first, then come straight back here.
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
Common mistakes
Resources
Foundationstart here
Depthgo deeper
What a verifier looks for
You'll sign in first, then come straight back here.
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
Common mistakes
Resources
Foundationstart here
Depthgo deeper
What a verifier looks for
You'll sign in first, then come straight back here.