Practise competetive programming. Using http://www.freetechbooks.com/competitive-programming-increasing-the-lower-bound-of-programming-contests-t1034.html