Programming Challenges: The Programming Contest Training Manual (Texts in Computer Science)