Firsly I recommend you to join topcoder if you are not already a membe, if you are interested in just spending some small amount of time( 1 hr a week mostly) and keep urself challenged with programming questions.
The problems are not very algorithmic but the timing of coding plays the most significant role. Will try to write more about it later.
The interesting part is the topcoder fluctuations I faced in past one/two weeks.
The latest one was a boost in rank was around 180 points.(743->920). I scored 10 position in Division2 and just missed the best solution to 1000 points problem( my score was second). I cudn't avoid taken a screengrab. phoenixcoder is for Aiwa he made a yellow debut(1526 IIRC). Bravo dude!
Well there was a competition in which I did bad in solving 250 points prob got 147 and didn't solve anything else. So I was screwed and lost my position by around 100 points.( 980--> 884), then I got further screwd up in next contest which was simple but the net connection spoiled the game. I just opened the 250 points problem and net went down I coundn't submit it not for next 45 minutes. It sucked. I knew I was going to lose lots of points. finally I was informed that I lost position by around 150(884-> 743).
( since I was idle I took this screenshot).