Since the Google Code Jam went online, I gave it a try. The first and the second problem looked okayish to me, and I was able to solve them in a relatively small amount of time. However, I got stuck trying to implement the third problem (fair and square) for large inputs efficiently, since mine timed out on the occasion. Moreover, at the time of writing this post, while I have a vague idea about the fourth problem, I realize that it's a rather hacky attempt (you can call it a smart brute force through chests, in the "lexicographic" order) and I suspect it won't work with large inputs either.
Eventually, since I'm a bit paranoid about my own capabilities (as you can see from my past posts

That looked like a fair approach, since I also suspect both have sufficient problems to introduce me to the skill of problem solving. I wonder if there's a better approach to achieve my aim, some pointers, or anything?
Regards,
Shikhin
P.S. I see a lot of people reply to posts by "so, what's the question" -- however, this is the general programming section, and I simply thought I'd take in views from people on whether the way I plan to become better at programming is a good way or not? Please provide your suggestions, views, tips, etc.