Codeforces Global Round 10 had some really good problems which required deep thinking for Div.2 folks. And, to not able to solve some problems in the start itself is demotivating. I have seen many folks, including my friends, just quitting the round if they are stuck at some problem. Many of you would have done that too.
So, I am writing this to share my experience in this contest. Here's what happened:
Problem A was easy, just a little thinking would do. Still, that easy problem took 5 mins and I was already behind the race.
I solved B a little early, grabbed the pace and came in the competition. I felt this could be my contest.
Spent 30 mins on solving C with 3 wrong submissions. Finally, I did solve it.
Spent 70 mins on solving D with 6 wrong submissions. Finally, solved it.
Now, the question is what went wrong for 6 WAs and why I keep trying D. To answer the first question, I did not go through the cases well. I hurried my decisions, came up with a very, very wrong solution, checked sample test cases and submitted them (you can go through my submissions and laugh at me, I won't mind :-)).
Now, why I kept trying D. Two reasons: my friends weren't able to solve E, but they solved D. That gave me hope. And, I wanted to save my rating from falling a lot, so I didn't quit.
So now to the main question, how did I keep my cool?
After submitting 5 WAs on D, after trying various approaches (but fundamentally still wrong), I took a small break like a minute or two. Then, I read the problem statement again as if I was reading it for the first time. I constantly tried to remove the solution I thought from my mind and think of something new. And, I found it!! I found a new way to solve this problem, and there I found my mistake in the former solution.
But, I had another WA!! I was completely demotivated for a second, only to realize I made a silly mistake. I immediately corrected it and submitted it again. And voila!! AC!!
Fact: I saved my rating from -90 to -23.
How can you keep your cool?
The simplest way is to take a minute break and approach the problem from a completely different point of view. It's okay to mess up. It's okay to have such many WAs. Just keep trying. In the end, this is a part of learning as well.
Sometimes, some things just don't strike us. For example, not remembering some rarely used algorithm. It's okay. Just give some time.
- Take a break.
- Read the problem statement as if you are reading it for the first time.
- Jot down all the points and conditions in the problem statement.
- Think again and do not let your old solution come in the way.
Try this, the next time you face something like this. Stay safe and keep coding!!