Hello everyone!
A couple of days ago I finally reached IGM, and you cannot even imagine how happy I am.
I want to tell you a bit about my journey.
In 8th grade I got my first prize diploma at ROI. That was a pretty cool achievement, but I always wanted to be better. I had three whole years ahead of me to become a winner, yet I never managed to do it.
My competitive programming career has been full of disappointments.
The only year when I truly believed in myself was 8th grade. I was top 2 at IATI Junior by a huge margin, got my first VKOSHP diploma, became a ROI prizewinner, and overall progressed very fast. For example, that was when I reached 2100 on Codeforces for the first time. As you can see, it took me another 5 years just to finally become a grandmaster.
In 9th grade, my team and I got top 5 at VKOSHP. For me it was a huge tilt, because it was the first “not gold” result after I had been dreaming about gold for so long. In 10th grade I was supposed to participate in VKOSHP with another team, but because of illness I could not come, and the guys missed a bronze medal by just one problem. In 11th grade we finally participated with the full team and finished 20 places lower than when they had participated with only two people...
I remember how in 10th grade I discussed with my coach 74TrAkToR that I had written the Open Olympiad very badly. Even though I got a winner diploma, it felt like pure luck, and the actual result was really low. In 11th grade I came there again, and guess what? I did not get any diploma at all. Not 1st degree, not 2nd degree, not even 3rd degree. I still think this was simply impossible. It felt like writing a Div. 1 round for top 20 in 2023, training for a whole year, and then finishing top 1000 in Div. 2. Just madness.
And now I want to tell you the main thing you need to know if you do not want to repeat my mistakes.
1. Constant self-hatred for every imperfect result
In 8th grade I cried after the second day of the Russian Olympiad, simply because I could not show my best result. I was a ROI prizewinner in 8th grade! Very few people ever achieve that, and literally everyone told me so, but I did not care. I blamed myself, because I thought that if I allowed myself to relax there, I would stop improving.
That was a huge mistake.
Almost every Codeforces round made me rage, hate myself, cry, scream — all because I could not gain some extra 100 rating points.
Guys, this is literally the worst thing you can do to yourself.
Never. Once again: never do this.
I have many friends, including myself, who after a streak of bad results got upset and started intentionally dropping rating on Codeforces.
Here is something I once wrote to one of them:
xxx,
I have no idea whether this will help you or not, but I want to tell you my own story with CF.
I grinded CF for an insane amount of time. At some point it was basically endless.
And for a long time, nothing worked at all.
I remember the moment when I reached blue. Back then I wrote literally every round and was tilted all the time.
Then I reached purple, and again I was tilted after almost every round.
In the end I never even reached red on my main account.
A couple of times I also did something like -250, when I just could not handle this anymore.
I was extremely nervous before every round, and after almost every round I destroyed myself mentally.
And it was not only about rounds. It was everywhere.
I got top 2 at IATI Junior, where I was far ahead of the rest of the team, but after I found out that I was not top 1, I cried for three days in a row.
When I became a prizewinner in 8th grade, I cried too, because I could have done better. I got 0 on the easiest problem across both days, even though becoming a prizewinner had been my dream at that moment.
But despite everything, I still understood that I was very smart. There was a lot of evidence for that. For example, the training contests I wrote were becoming harder and harder, while I was performing better and better.
yyy often showed me that I scored a lot on some hard problem, but on the easy ones, as usual, I got 0.
My VKOSHP in 9th grade was also like that. I think I told you that I solved the two hardest problems, while zzz came drunk and solved 0 problems, using 2 hours of computer time. We missed top 1 by 20 minutes.
Also, top 1 at the regional stage of the Russian Olympiad in Informatics.
I never became a winner. I never achieved the things I wanted. But the main thing is what remained afterwards.
And afterwards there is still me: with many friends, with many people who think well of me, with a great job, with great prospects, and so on.
CF is an extremely cruel sport. Most of the time it is not even about thinking deeply, but about solving garbage as fast as possible, just like ICPC.
And the fact that things have been going badly for you lately does not mean that you became stupid or anything like that.
Bro, you can call it random if you want, but getting an insanely high place at True Tech Champ while competing against the top 1 ICPC team and the best competitive programmers in Russia is incredibly cool no matter what.
Becoming a winner in 9th grade is also incredibly cool, even if you could have done much better. Believe me, everyone understands that.
Now to the reason I am saying all of this.
I do not know whether this is similar to your situation, but whenever I understood that I could have done even a little better — or sometimes much, much better — I hated myself.
Every day I told myself that I was trash and that I had to solve better.
I thought that this would motivate me to grind as much as possible.
But all of this is complete nonsense.
I understand that top 1 at the regional stage of the Russian Olympiad in Informatics was probably not what I ultimately wanted to achieve. But being one of the three people who solved the whole contest, where in my opinion there were genuinely cool problems, especially the D problems, is actually cool. It is a real indicator.
But after I finally got at least this result, do you know what I felt?
Something slightly worse than neutral.
During these 5 years of endlessly humiliating myself, I simply forgot how to feel joy. And this had started much earlier than that regional stage.
I literally forgot how to get any positive emotions from victories and achievements.
I truly forgot how to be happy.
And brother, this is complete garbage.
aaa often told me that I had the wrong attitude towards competitive programming. He said I should look at it like this: if I wrote badly, then whatever, it happens, next time I will do better; if I wrote well, then great, I am proud of myself.
The scariest thing that can happen to you in life is losing the ability to feel joy.
Your cerebral cortex is basically a neural network aimed at getting good emotions and avoiding bad ones. So if you tell yourself that you are worthless in order to become better later, even if you do it for any other reason, this is completely wrong. You want to become better in order to achieve something, to be able to do something, to have something. But all of it becomes meaningless the moment you cannot feel joy from it.
Your goal is not to win something or prove something to someone, even to yourself.
Your goal is to be happy.
And the state where you do not feel emotions from victories and achievements has a medical name: depression.
So this kind of thing simply kills you, destroying your dopamine system.
If anything I wrote actually resonates with you, then please try to feel sorry for yourself. Remember yourself as a child. Did that little person want someone in the future to stand next to him for his whole life and insult him endlessly?
And if this is really happening to you now, then that someone is you.
So protect that boy. Do not let anyone hurt him.
I think bbb has the best attitude towards this. When he writes well, he is extremely happy and jokes around. And when he loses rating, he just laughs endlessly at how spectacularly he lost it.
In short, know that you are still one of the smartest people in the world. Love yourself for that. And of course, you are one of the smartest people I know.
If I misunderstood your situation and wrote complete nonsense, then I am sorry. I just wanted to support you somehow.
By the way, ccc did not even solve E today, and got -170.
So, guys, it is not worth it.
Do you know why I was in the hospital instead of VKOSHP? Because during one of the IOI training camps, after a contest, my hands started going numb. Then my legs. Then my whole body, including my tongue. I could not even speak normally. And then this started happening quite often.
I had always taken mental illnesses very seriously. I never allowed myself to casually say things like “I have depression” or “I am having a panic attack.” But this was literally what I had, even though at the time I did not think of it that way.
I visited countless doctors, but only much later did I learn that this was just my nervous system reacting to enormous stress, endless lack of sleep, and all the terrible things I was doing to myself while thinking they would help me achieve better results.
2. I was sure that being nervous was good
Maybe this is an unpopular opinion, but I believed that if I did not worry, then I would not care about the contest, and therefore I would not be able to show a good result.
And maybe this is true — up to the point where the anxiety gets out of control. Up to the point where anxiety starts controlling you, instead of you controlling it.
I wrote my best contests when I was sleep-deprived — this is bad advice, please do not do that — and when I wrote the contest just for the pleasure of solving problems, for the drive of competition, without thinking that this specific result meant something fundamental.
The main thing I want to say
For a long time I could not make myself believe that I was actually smart.
I saw my genuinely strong achievements. I saw how much I had done. But low rating and all my failures did not let me believe that I was truly smart.
But now, when I am in the top 200 on Codeforces, I can finally take this weight off my soul and honestly tell myself:
I am smart.
In fact, I had already been writing rounds this well for a long time — but only virtually, or in conditions where I was not afraid of the result.
Now that I started writing rounds purely for fun, I stopped looking at a problem as a threat. Now it is simply fun to solve them.
For example, recently I solved 3100 / 3000 / 2900 problems directly during rounds, and here is what I want to tell you:
They really are simple.
All you need in order to see this too is to stop being afraid of them.
Soon I will write another post, less focused on my personal experience. I will talk about how I see proper training for maximum skill growth. I know there are already many posts like that, but I am sure I can tell you something new. In particular, I will explain why I now think that solving 2900-rated problems during rounds is quite easy, and what you need to do in order to be able to do the same.
For now, thank you very much, Codeforces!
Thank you, MikeMirzayanov.
I am insanely happy that now I can finally consider myself smart. I am happy that I can finally believe it.
Have a good day everyone, and never give up!




