competitive programming - problems from codechef, codeforces, topcoder, and various online judges