Sefism is free for learners. We are here to help you grow, one step at a time.Join for free
Sefism.
Platform · OtherFree

CSES Problem Set

A free collection of classic competitive programming problems, grouped by topic from introductory problems and sorting to graphs, range queries, trees, maths and strings. Each problem teaches one standard technique cleanly, which makes it the most widely recommended checklist for building a contest toolkit. Pairs with the free Competitive Programmer's Handbook.

Problems

381 in 18 sections

CSES · Sept 2026

Sorting and Searching

44 problems

CSES · Sept 2026

Graph Algorithms

35 problems

CSES · Sept 2026

Format

Platform

Topic

Other

Provider

CSES

Time needed

Months if you solve every section; a few weeks per section

Level

All

Access

Free

What the CSES Problem Set is

CSES (Code Submission Evaluation System) is a Finnish online judge that has been used for programming courses and contests since 2013. Its main developers include Antti Laaksonen, the author of the Competitive Programmer's Handbook. The CSES Problem Set is its public collection of practice problems: when checked in September 2026, 381 problems in 18 sections.

The sections run in a sensible order: Introductory Problems, Sorting and Searching, Dynamic Programming, Graph Algorithms, Range Queries, Tree Algorithms, Mathematics, String Algorithms, Geometry and Advanced Techniques. Newer sections cover sliding windows, interactive problems, bitwise operations, construction problems, advanced graphs and counting.

Why people recommend it

Most problems in the set are "pure" versions of a standard technique. "Distinct Numbers" is about sets, "Dynamic Range Sum Queries" is a Fenwick or segment tree, "Shortest Routes I" is Dijkstra. There is little story to decode, so each problem teaches one idea cleanly. When you later meet the same technique hidden inside a Codeforces or ICPC problem, you recognise it.

That is why the set works as a checklist: if you can solve most of a section without help, you know that area.

How long does it take?

It depends on your level. Someone new to algorithms might spend a few weeks on Introductory Problems and Sorting and Searching alone. Solving the whole set is a serious project over many months, and plenty of strong contestants never finish the last sections. You do not need to: work through the sections that match what you are learning now.

Prerequisites

You should be comfortable writing and running programs in one language and reading input from standard input. C++ is the common choice because some problems have tight time limits, but many problems are fine in other languages.

Free or paid?

Free. You need an account to submit solutions and track which problems you have solved.

How to use it well

  • Read the matching chapter of the Competitive Programmer's Handbook first, then solve the section.
  • Try each problem for a real stretch of time before searching for hints.
  • After solving, compare your approach with another accepted approach and note any trick you missed.
  • Keep your accepted solutions: they become your personal library of tested code.

Common questions

Is it good for beginners? The Introductory Problems section is, though some of its later problems are harder than their position suggests. Skip one and come back.

Is there an official editorial? Not for every problem. Community write-ups exist, and the USACO Guide links many CSES problems to explanations.

Best for: anyone building a solid competitive programming toolkit, from first sorting problems to trees and range queries.

algorithmsdata structurescomputer science

Ready to start?

Opens on CSES in a new tab.

Open resource
Link broken or out of date?

Report a problem

With "CSES Problem Set". Only Tauseef reads this.

Work with me

Stuck on something specific?

Writing only gets you so far. If you want an answer to your situation rather than the general case, book a session and we will work through it together. Sessions are free for approved Sefism members, and a few slots open each week.