Intrigued by Sunitha's comments, I checked out a couple of problems in one of the practice rooms in TopCoder. I performed abyssmally - I only got 179 points on a 250 points problem, 242 on a 500 points problem and couldn't even finish a 1000 points problem! The problems were not difficult per se, but 8 years of “enterprise” software development have blunted whatever little ability I used to have to solve such problems. On the two problems that I did manage to finish, I was stuck for a while with my mind drawing a complete blank on how to solve them - just jammed. Only after a while did my mind clear up a bit and I could code the solutions, but by then I had lost precious time that cost me points. On the other hand, these are the sort of problems that someone who has absorbed R. G. Dromey's excellent book “How To Solve It By Computer” will find easy to approach and solve well in time. That book seems utterly underrated, as does the classic problem-solving book that was its inspiration, “How To Solve It” by G. Polya. The problems also had guaranteed “good” inputs, so that one does not have to worry about input validation or boundary conditions.