Curation Criteria

Why problems are on this sheet, how they're rated, and what "difficulty" actually means here

Why this sheet exists

Codeforces has tens of thousands of problems. For someone starting out, the rating system is a rough guide — but raw rating alone doesn't tell you whether a problem is beginner-friendly or just technically easy for a different reason. This sheet is a hand-curated subset where every problem has been chosen because it teaches something concrete and isn't just a gimmick.

The honest problem with CF ratings

CF problem ratings are crowdsourced from contest performance — they reflect how hard a problem was in contest conditions, not how hard it is to learn from. A problem solved in 3 minutes by 80% of div 4 participants gets rated 800 even if it involves a subtle insight. Conversely, some 900s are genuinely tricky for beginners because the expected approach uses a pattern they haven't seen.

A problem rated 900 is not necessarily harder than one rated 800. It just had a lower solve rate during that specific contest, on that specific day, by those specific participants.

This is why you'll see some 900 and 1000 problems on this sheet that many people find easier than certain 800s. The sheet rating is CF's official rating — but the order within each tier reflects actual learning difficulty.

Selection rules

Every problem on this sheet satisfies all of the following:

The division labels (D3 / D4)

Each problem is tagged with the division it most naturally belongs to — not necessarily the division it appeared in. The heuristic is:

Problems rated 1000 are mostly tagged D3 on this sheet because at that level, even "easy" problems expect you to compose two observations instead of one.

How to use the sheet

What this sheet is not

Suggesting changes

If you think a problem on the sheet violates the rules above — too obscure, wrong rating group, or just a bad fit — the best way to suggest a change is to reference the rule number it violates (R1–R5) and propose a replacement problem that satisfies all five. Vague complaints without alternatives won't be acted on.

A note on "easy" problems at 900/1000

Some problems here rated 900 or 1000 are genuinely simpler than certain 800s on the sheet. This is not a curation error. The CF rating reflects contest-day performance. A problem can be rated 1000 because it appeared late in a Div 3 round where most participants ran out of time — not because the underlying idea is hard. The sheet is ordered to reflect actual difficulty, not raw rating. Trust the order more than the number.