Thanks for A2A,

I will try to answer this question. Imagine for next 6 months.

**Stage 1: Setting up the base.(2 months)**

Try solving first 200 problems in Sphere Online Judge (SPOJ) . for the first 2 months , try to do all the problems on your own. Stick with this for first 2 months till you gain confidence.

**Stage 2: Moving to Code Chef(2 months)**

Once you gain some confidence on SPOJ problems, move on to codechef and practice for next 2 months.

**Stage 3: Moving to Top coder (2 months)**

Now move to top coder and try competing in SRMs.

Practice daily , try solving 2 or 3 problems on your own. It might take an hour or 5 hours but do it on your own . Trust me after 2 months you will have a very good confidence in problem solving .

This is a sport , the more you train yourself the better you are. Hope this helps.

But if you want to prepare for cracking interviews then it will be better if you go for geekforgeeks and implement each and every algorithm out there in your own console and also keep a check to Wikipedia for learning new algorithms .