What should I practice to improve faster?

I can solve up to 3 problems in codechef long challenge, what should I do to improve faster. Should I practice from “codechef easy” or start from “codechef medium” problem, to progress faster? Or should I move to SPOJ, the only problem I face in spoj is, lack of editorials.


Why you think that you can solve only upto 3 problems. Codechef long challenge is not a short challenge. It almost run up to 10 days, that means you have enough time to think, manipulate and grab the opportunity to solve rest questions.

So Don’t loose the hope after doing 3 questions in this long. Just use and explore these 10 days as much as you can.

And for practice you should participate SHORT contest( except for practicing the questions at different websites) because it will make or develop your brain to think in that way at that time.

And SPOJ is very good platform for practice. Why? Because it does not reveal the editorial so that you can practice here as like you are participating in the contest.

For any type of Contest you can prefer all these awesome websites…

  1. Hackerearth
  2. Hackerrank
  3. Codeforces
  4. Topcoder
1 Like

Solve atleast 100-200 problems on SPOJ within less than 2 months to get a fair amount of idea about a variety of problems and all standard algorithms.
This would be a very good start to build your basics in competitive programming . SPOJ solutions are online available on many sites . You can refer to them if you’re facing problems . But at first you need to try on your own and even if you look up for an online solution , you should see the algorithm and try implementation on your own. This will make your implementation quite strong .

After that you may practice questions on various algorithms and get a good knowledge about which to apply where from sites like codechef.com and codeforces.com which are always a good source of an immense variety of questions.

If you’re following this consistently , then within a span of 2-3 months you will feel more confident and be well off in the long challenge questions.
You can read a motivating blog here : https://www.quora.com/How-did-Anudeep-Nekkanti-become-so-good-at-competitive-programming

Pursue excellence and success will follow !

Best of luck ! Happy coding. :slight_smile:


I will assume that sicne you could solve easy Q on codechef, you have some idea about competitive coding.

That being said, you should first analyse what type of problems you were unable to solve. Dynamic Programming? Graph Theory?

Then, if you have no idea about those, check my Q here.

I case you know about those but the Q seemed tough, or you feel you need practice, the very first place I would go is hackerrank.com cause in its algorithm section, everything is quite neatly arranged. Problems are divided into sections like Dynamic Programming, Implementation & etc.


Submit a solution on hackerrank. If it passes, good, if not, then first try to find test cases yourself. If after ~25 tries you are unable to find even a single test case failing, or have no idea why your program isn’t getting accepted, then you can “buy” that test case using their in-site currency called “hackos” (You earn them by logging in daily and solving Q.)

When you are done with hackerrank/think you can do stuff now, move to hackerearth. The questions on this site demand high class, well refined solutions (the partial marking ones especially).

First do these 2. In case you want to LEARN something, then geek for geeks is best. Their video lectures and explanation are really helping me and i advise the same.

So, do this much for now, and then see which direction you need to head!

1 Like

Use a2oj categories https://a2oj.com/categories there you can see all problems topicwise start solving Codeforces Div 2 A,B,C,D,E Problems there 300+ problems of each category, solve atleast 50-60 problems from each category and you will improve faster. Best of luck ! Happy coding. :slight_smile: