Competitive Programming

Because I’m keen on of competitive programming contests in the style of ACM-ICPC, I thought it might be of interest to present some of my favorite links on the topic.

Online Contests

I did not participate in all the contests I mention, because I lacked the time or did not have knowledge of their existence before I became too old to participate. Nevertheless, they are here for the sake of completeness.


There are many other websites providing ways of training oneself for such problems, but here are a few that caught my attention :

  • Live Archive, which records an impressive set of problems from past ICPC editions
  • Sphere Online Judge, another online judge you might want to try
  • UVA Toolkit, which helps solving problems by providing the expected output of a sample input for certain problems
  • Project Euler, with a great list of problems more mathematically challenging than algorithmically complex


If you’ve ever participated in an ICPC, you know that you are allowed to bring with you a notebook containing material that you can exploit during the competition. During my time preparing for the contest my colleagues and I put together our solutions to a bunch of ICPC problems, as well as a library of classical algorithms for solving common problems.  Our source code is available on the following git repository, and I also invite you to have a look at the notebook folder, which contains custom and clean implementation of those well-known algorithms.