I always wanted to make something like a guide for anyone who wants to be better at competitive programming. But I believe that I'm not experienced enough to make this guide.

So, here is what I did and I hope it will be helpful to many of you:

- Out of more than 80,000 rated Codeforces users, I selected just 700 of them who satisfied the following conditions:

- Over the period of 1-2 years, their rating increased step by step more than 600 points in total (their graph looks linear in a period of 1-2 years with increment of more than 600 points).
- They participated in at least 20 rated contests.
- They solved at least 150 problems in practice in this period.

For each rating range, interestingly I found many common problems solved by these users when their rating was in that range. I found the most 100 solved problems in that rating range.

I created a ladder for each range, and the problems inside it are sorted based on an accurate difficulty level I calculated.

I believe if someone manages to solve (or at least understands the solution from someone else or the editorial) all these problems, they will notice some significant improvements in their skills and rating.

You can find the ladders at the top here: https://a2oj.com/ladders

Also please share this with anyone who might be interested.

P.S. I know that a ML model might do a better job, but the reason why I didn't do this, because I didn't have enough data.