Skip to content

Resources

Material selected for training competitive programming, organised by type and by level. You do not need to use all of it: pick one judge and one book, and be consistent.

Starting from scratch?

The shortest, best-tested route: read Competitive Programmer's Handbook while you work through the CSES Problem Set from beginning to end. Once the problems start coming out effortlessly, join AtCoder's ABC contests to train against the clock.

5 of the 12 resources on this page are marked as suitable for beginners.

Online judges

Platforms to practise and compete on. Start with one and stay there until it feels comfortable: switching judge every week does not help.

  • Online judge beginner

    AtCoder

    Its Beginner (ABC) contests are the best way in: short, well-written problems with a gentle difficulty curve.

    Open resource
  • Online judge beginner In Spanish

    omegaUp

    A Latin American platform with problem statements in Spanish and guided courses. Highly recommended if you are just starting out.

    Open resource
  • Online judge intermediate

    Codeforces

    The most active online judge on the competitive circuit. Weekly contests, a huge problem archive with editorials, and a rating system that helps you measure progress.

    Open resource
  • Online judge intermediate

    Kattis

    The judge officially used in many ICPC regionals. Its interface and input/output formats closely match the real contest.

    Open resource
  • Online judge intermediate

    Virtual Judge

    Lets you assemble private contests combining problems from several judges. Ideal for simulating a full regional with your team.

    Open resource

Problem archives

Collections organised by topic or by edition. Ideal for drilling one specific topic or simulating a real contest.

Books

The theory behind it all. They pay off far more when read alongside solving problems, not before.

Guides and references

Quick-reference material for training sessions, and a good base for putting together the team's printed notebook.

  • Guide beginner

    USACO Guide

    A tiered learning path, from bronze to platinum, with problems selected for each topic. Excellent for structuring training.

    Open resource
  • Guide intermediate

    CP-Algorithms

    An encyclopedia of algorithms and data structures with ready-to-use implementations and clear explanations of complexity.

    Open resource

Video

Commented solutions. Useful for seeing how someone experienced reasons through a problem from scratch.

Something missing?

This list is maintained by the community. If you know of a resource that should be here — especially material in Spanish — tell us and we will review it.