Hello Codeforces community, We’ve all been there. The countdown hits zero, the contest starts, and you open Problem A. It looks simple. Too simple. You rush an implementation, hit submit, and... Pretests failed on test 2. Suddenly, the panic sets in. You look at the scoreboard, see that 3,000 people have already solved it, and your heart rate doubles. You spend the next 15 minutes aggressively patching your code with random if statements instead of finding the actual flaw. By the time you fix it, your penalty time is ruined, your mental stamina is drained, and Problem C feels completely impossible. Lately, I’ve been analyzing why my performance varies so wildly between practice and real rounds. I realized it rarely comes down to not knowing an algorithm—it’s almost entirely about contest psychology and bad coding habits. Here are the three biggest traps I’ve noticed we fall into, and how to avoid them:
- The "Speed Demon" Fallacy
We are so obsessed with getting a fast solve time on Problem A and B that we skip reading the constraints or handling edge cases. • The Fix: Spend exactly one extra minute after writing your solution to mentally test it against extreme values (n=1, (A_i = 0), or max constraints). That one minute of patience saves you a 10-minute penalty and a massive tilt.
- The "Frankenstein Code" Strategy
When a solution fails a pretest, our instinct is to append ugly, chaotic fixes to our current code. We build a tower of nested loops and edge-case exceptions until the code is unreadable. • The Fix: If your logic is inherently flawed, delete it. It takes courage to clear your IDE, but rewriting a clean version from scratch based on a correct idea is always faster than trying to fix a fundamentally broken approach.
- Scoreboard Watching
Checking the standings every 3 minutes is the fastest way to destroy your focus. Seeing people outpace you creates artificial urgency, forcing you to rush problems that actually require calm, logical derivation. • The Fix: Hide the scoreboard. Treat the contest like a private virtual round until the last 15 minutes. Your only opponent is the problem setter. I’m curious to hear from others—especially those who managed to transition from Pupil/Specialist to Expert and beyond. What was the biggest mental or tactical shift you made to stop throwing away your rounds?




