Guide to Competitive Programming : learning and improving algorithms through contests - Laaksonen, Antti