Sometimes, I find it really hard to understand problems on Codeforces. Even when I finally do, I often end up making small mistakes — a wrong condition, a missed edge case, or just a silly logical error. And then, when I check others’ solutions at the end, I feel regret — realizing that the problem was actually easy. It hurts to know that it wasn’t my logic, but my misunderstanding that cost me the solve. Even now, I still struggle to solve both Div.2 A and B problems within contest time, while I can easily solve 1000–1100 rated problems when practicing calmly afterward.
How can I overcome this problem? If anyone knows any effective way, please share it — I’d really appreciate your help. Finding a way to overcome this problem would be a huge help for beginners like me.
And my target is to become an Expert and Specialist before February 2026. If you could also tell me what I need to do to achieve this target, it would be very helpful.








Auto comment: topic has been updated by Mohammad_Shuvon (previous revision, new revision, compare).
I think that you should solve more problems. I also make mistakes but I find them faster because I made similar mistakes in the past. So just solve problems (I think problems that can be solved in 10-20 minutes are not very useful. You should solve mostly challenging problems).
Also check this: https://codeforces.me/catalog (How to come up with solutions? and How to practice? and you might find something interesting for yourself). I recommend solving CSES problems (interesting basic problems): https://cses.fi/problemset.
For example there is a tutorial: https://codeforces.me/blog/entry/66909 and you can find what kind of algorithms you have to know to become an expert.
Keep solving problems (but taking rest is crucial so give yourself 1-2 days of rest from programming occasionally) and you will achieve anything.
And don't forget to participate in divs (because it is important as well) (and upsolve problems like AB and if you can't solve problem C let's say you thought for a day then try reading the editorial).
good luck have fun!
Thanks a lot Umed Elmurodov, your advice is really valuable to me. I’ll focus on solving challenging problems, upsolving, and also make sure to take proper rest. I’ll definitely check out the links you shared. Thanks again for your advice.
If you have trouble performing under contest pressure, don't just practice calmly, do more contests or virtual participations. But also upsolve the problems you couldn't solve during the (virtual) contests.
That’s really good point, thanks! I’ll make sure to participate in more contests and virtuals to improve my performance under pressure, and I’ll definitely upsolve the problems I miss. By the way, I don’t do virtual contests very often, but when I do, sometimes I can’t upsolve some problems, so I end up reading the tutorial or sometimes even checking the full solution without reading the tutorial. Is that an effective way to learn?
If we're talking about problems that you expect to solve, e.g. A or B, then it's better if you can come up with the solution on your own. If you're upsolving and you get stuck for a while, you can consider asking ChatGPT for hints, before giving up.
Many times, I get stuck and find it difficult to understand what exactly is going wrong. I often feel like I’m close to solving it — it seems like I’ve figured it out — but in the end, I still can’t reach the correct solution.
For example, yesterday I faced a similar situation with a problem from Codeforces Round 1047 (Div. 3), Problem D — ‘Replace with Occurrences.’ I spent quite a long time on it, from around 11:30 AM to 3 PM, trying different approaches. If you look at my submissions, you can probably tell how much I struggled. After taking a short break, I finally got it accepted later at night, around 8 PM — but only after asking ChatGPT to check and fix my logic. (Because of the time zone difference, the timestamps might look different, but the main point is the big gap between my last wrong answer and the final accepted one.)
Now I’m wondering — was it a good idea to rely on ChatGPT to correct my logic at the end? And was it right to spend so much time stuck on a single problem? If not, how much time should I ideally spend on one problem before moving on? Should I have moved on earlier and tried fixing it later with ChatGPT’s help? Because I already spent much time with it and after that I can't.
Persistence in problem solving is a good thing. As long a you have ideas to investigate, keep working on it. And if you use ChatGPT, make sure it doesn't spoil the problem, and only provides hints, and ideas to investigate.
And thank you so much for taking the time to give me all these valuable pieces of advice.