Skip to content

Competitive Programming#

Learn to program in C++ and Python and go on to compete in ICPC-style contests. Clear explanations, ready-to-copy code, and a cheatsheet for contest day.

Start here Browse algorithms

The contests#

These are the contests we aim for. Train with this material and get a team together.

  • ICPC

    The largest collegiate programming contest in the world: teams of three solve algorithmic problems against the clock.

    Official site

  • SWERC

    The ICPC regional for Southwestern Europe (Spain, France, Portugal, Italy…). CUNEF's gateway to the world finals.

    Official site

  • Ada Byron

    A competitive programming contest in Spain, with local rounds and a national final.

    Official site

Choose your level#

  • Base


    First contact with programming: I/O, loops, arrays.

    Loops

  • Beginner


    First contest techniques: binary search, two pointers, greedy.

    Binary search

  • Intermediate


    Data structures and graphs: the core of regional contests.

    Fenwick tree

  • Advanced


    Powerful techniques: bitmask DP, advanced graphs, strings.

    Dijkstra

  • Expert


    Elite topics that make the difference at the finals.

    Convex hull

  • Lost?


    Follow the dependency graph to see what to learn before each topic.

    Dependency graph

Explore the project#

Authors#

Maintained by faculty at CUNEF Universidad: