Competitive-Programming Think. Break it down. Find the pattern. Write the code. Repeat. A collection of problems, solutions, and lessons learned along the way.