An advice for competitive programming


By no means, am I a very successful programmer or something, if you don’t want to read it its alright and also, if you think I am not qualified to write stuff like this, I will say that it’s just personal thoughts. In a hope that I will be helping some of the people here I will continue.

So, I was selected for the IPC Camp this year. I don’t know how, I thought I won’t because of my codeforces rating. I am just a green there. Thing is the topics that were taught in the lectures mostly consisted of rare topics that bridge the gap between purple and red. Things like palindrome trees and suffix automata were taught, many people did not even understand(Except a handful who are really good programmers). They almost never appear in any short contest. Yes, some topics like geometry and maths are actually helpful for the short contests but most weren’t.

I thought maybe this wasn’t the right camp for me, but then I came to a realization that this camp was really great, teaching us so many new stuff(Isn’t that the whole goal behind organizing any camp?), the problem is with me. I am a big-time procrastinator and never practice. All I do is look at the other “How to be better in competitive programming” type of questions on quora, codeforces and codechef. Most of the times while practicing, I open a problem, think of a solution, if I think of it, I look at the editorial and see if my thinking was correct and then if I can’t, I go to the editorial read it and leave it. I almost never implement and submit because of laziness. And I realized, this way it won’t work. Just cheating myself and doing long contests more than short contests is only hampering me. Even learning new topics now is not as important as practice. If you solve till div2 D on codeforces, you are a purple/high blue. New topics are only needed for div1 C/div2 E and if you solve them fast, you have a high chance of being a yellow or red.

I was having a talk with kevinsogo the other day, I told him that this is my last try for the IOI this year and asked him about how and what I should practice. Firstly, he told me about how, he said,“You are worrying about it too much. Even I didn’t qualify for ICPC World Finals, but I don’t care, all that matters is that I enjoyed solving the problems and will continue enjoy solving problems.” I asked when to see the editorials, he said,“If you really enjoy solving problems, you will never see the editorial and ruin the joy of problem solving. And if you don;t enjoy problem solving then what’s the point of programming competitively? It’s ok to see hints or the topics that are needed to solve the problem from editorial only. But that’s just how I have practiced.” He was really inspiring to me as a competitive programmer.

To sum it up, there is really no new advice, just to the procrastinators and the skeptics, there is no way to get better without practicing; even if you learn all the topics in the world, you will never be able to apply them in problems unless you practice problems. Just take it from someone who was the second lowest rated coder in the camp.

Please do comment and tell me if something I said here was wrong, I can assure there is no wrong intent from my side.
Hope you have a good day and happy coding :slight_smile:

P.S. When I said “Short contest” I meant if you want a good ranking in the short contests, or else if you want to be among the top 10, of course topics like centroid decomposition and fft appear as div1 D or E many a times.


Hey, thanks for the post. It was really inspiring.

Thanks for reading it :slight_smile:

1 Like

Really I also have been making the same mistake…Time to change… Thanks… :slight_smile:

1 Like

I am glad I could help you realize what you are doing wrong :slight_smile:

1 Like

Itna srs kyu hae sabh?
Nice post btw.


You could have just commented on the question…

1 Like

can anyone answer my question "how could i shift my self from beginner to another level?"stuck on the basic skills and solving problems of beginner level how could i shift my pace? i’m waiting to geta direction to solve a big level program how could i? what shhould i refer ?what should i do? please anyone help?

Keep practicing and learning

1 Like

Give the forums a search. This Q has been answered gracefully multiple times before.


this was really inspiring.i used to see the editorial if im stressed up but now im gonna change.ENJOY CODING

Can someone give some reputation? need to upvote this post.


Thank you, I am glad you found this so helpful :slight_smile:

Glad that I could bring about a good change in someone

May you rise and rise again. Best wishes for IOI, I’ll hope you ace it.

1 Like

Thanks for sharing your experience, and all the best for ZCO,INOI,IOITC and IOI :slight_smile:

1 Like

Thank you in advance(in case I make it to there) :slight_smile:

Thanks for such a great advice. Can you tell me how the selection process for the IPC is being carried .

1 Like

That’s being kept confidential.

Very inspiring post @ista2000! Good luck for all your future competitions!
Well, I am below average in programming and can’t solve medium+ level question(most probably). Shall I keep on trying the problem and working on the problem even if I don’t have slightest of the clue? What I mean is , if I do not know what data structure to use how do I find it??

Thanks for answering in advance :slight_smile: