Hello Codeforces!
Lately, I’ve been looking closely at the difficulty distribution in recent Division 4 rounds, and something feels fundamentally off.
When MikeMirzayanov originally introduced Div. 4, the core philosophy was clear: create an accessible, welcoming environment for absolute beginners and lower-rated participants to experience competitive programming without hitting an immediate, insurmountable wall. It was meant for people who are still mastering basic concepts.
But let’s look at the reality of recent contests. We are routinely seeing Problem G (and sometimes F) hitting 1700–1800+ difficulty ratings.
Is this really a natural "evolution" of the platform, or have we completely lost the original purpose of the division?
The Two Sides of the Coin
Like any controversial topic, there are two main perspectives here:
- The "Top Separator" Argument: Supporters argue that the last problem must be difficult. It acts as a hard separator for the top of the leaderboard and challenges those who are on the verge of outgrowing Div. 4.
- The "Beginner Shield" Argument: Div. 4 was created strictly for newcomers. The entire problemset should remain within their theoretical reach.
Personally, I strongly lean toward the second opinion.
Put Yourself in a Newbie's Shoes
Imagine being a true beginner. You are just learning how to handle arrays or basic loops. Then you open the latter half of a Div. 4 round and face a task that requires complex data structures or advanced dynamic programming to process thousands of elements, rather than a simple single-pass iteration. You physically and theoretically do not possess the tools to solve it yet.
If you were that newcomer, would you honestly feel motivated to participate in a contest where the final goals feel completely alien?
Right now, Div. 4 has become the most controversial contest format on the platform. Even though it is explicitly labeled for beginners, the back-end of the problemset is not adapted for them at all. It feels like inviting someone to a friendly introductory run, only to put a marathon-level wall at the very end.
Conclusion: It's Time to Rethink the Concept
We shouldn't just accept 1800-rated problems in a beginner round as a given. If a problem requires an Expert-level skillset, it belongs in Div. 3 or Div. 2, not here.
We need to modify the entire concept of Division 4 to keep it a genuine gateway for the community, rather than a format that intimidates newcomers at the finish line.
What are your thoughts on this? Should Div. 4 strictly cap its difficulty to protect the beginner experience, or is having an 1800-rated "boss fight" at the end healthy for growth?
Let’s discuss in the comments below!









I fully support this!
In my opinion, Div. 4 should be a challenge primarily for Newbies and Pupils. In reality, most of them struggle at Problem F and don't even attempt G.
A difficulty cap around 1500-1600 would be much more reasonable. It would still offer a solid challenge for Specialists, without completely alienating the beginners.
Auto comment: topic has been translated by Arbuzik342 (original revision, translated revision, compare)
that is not just in div 4!
you can see some problems in div 2 which has got 2300-2700, I do not say I do not agree with these problems' rating tag, but still I am confused.
Nah, Codeforces is supposed to be a difficult platform. You arent supposed to AK the whole contest. If there are 8 problems i think having the first 5 under 1400 difficulty is enough, and the last 3 can be between 1500-2000.
Look at the difficulty caps for div 2, where the last problem routinely reaches 2700, 600 pts above max rating. Should we change div 2s as well then?
However, I think that even if the last problem is hard it can use less advanced data structures to still be accessible to beginners (which is what current rounds do anyway).