CSES Problem Set
Source: cses.fi/problemset Total Problems: 300+The CSES Problem Set is a collection of algorithmic programming problems maintained by the University of Helsinki. It covers a wide range of topics in competitive programming.
📊 Progress
Introductory Problems (19)
| # | Problem | Link |
|---|---|---|
| 1 | Weird Algorithm | cses.fi/1068 |
| 2 | Missing Number | cses.fi/1083 |
| 3 | Repetitions | cses.fi/1069 |
| 4 | Increasing Array | cses.fi/1094 |
| 5 | Permutations | cses.fi/1070 |
| 6 | Number Spiral | cses.fi/1071 |
| 7 | Two Knights | cses.fi/1072 |
| 8 | Two Sets | cses.fi/1092 |
| 9 | Bit Strings | cses.fi/1617 |
| 10 | Trailing Zeros | cses.fi/1618 |
| 11 | Coin Piles | cses.fi/1754 |
| 12 | Palindrome Reorder | cses.fi/1755 |
| 13 | Gray Code | cses.fi/2205 |
| 14 | Tower of Hanoi | cses.fi/2165 |
| 15 | Creating Strings | cses.fi/1622 |
| 16 | Apple Division | cses.fi/1623 |
| 17 | Chessboard and Queens | cses.fi/1624 |
| 18 | Digit Queries | cses.fi/2431 |
| 19 | Grid Paths | cses.fi/1625 |
Sorting and Searching (35)
| # | Problem | Link |
|---|---|---|
| 1 | Distinct Numbers | cses.fi/1621 |
| 2 | Apartments | cses.fi/1084 |
| 3 | Ferris Wheel | cses.fi/1090 |
| 4 | Concert Tickets | cses.fi/1091 |
| 5 | Restaurant Customers | cses.fi/1619 |
| 6 | Movie Festival | cses.fi/1629 |
| 7 | Sum of Two Values | cses.fi/1640 |
| 8 | Maximum Subarray Sum | cses.fi/1643 |
| 9 | Stick Lengths | cses.fi/1074 |
| 10 | Missing Coin Sum | cses.fi/2183 |
| 11 | Collecting Numbers | cses.fi/2216 |
| 12 | Collecting Numbers II | cses.fi/2217 |
| 13 | Playlist | cses.fi/1141 |
| 14 | Towers | cses.fi/1073 |
| 15 | Traffic Lights | cses.fi/1163 |
| 16 | Josephus Problem I | cses.fi/2162 |
| 17 | Josephus Problem II | cses.fi/2163 |
| 18 | Nearest Smaller Values | cses.fi/1645 |
| 19 | Subarray Sums I | cses.fi/1660 |
| 20 | Subarray Sums II | cses.fi/1661 |
| 21 | Subarray Divisibility | cses.fi/1662 |
| 22 | Array Division | cses.fi/1085 |
| 23 | Sliding Window Median | cses.fi/1076 |
| 24 | Sliding Window Cost | cses.fi/1077 |
| 25 | Movie Festival II | cses.fi/1632 |
| 26 | Maximum Subarray Sum II | cses.fi/1644 |
| 27 | Subarray Distinct Values | cses.fi/2428 |
| 28 | Array Description | cses.fi/1744 |
| 29 | Factory Machines | cses.fi/1620 |
| 30 | Tasks and Deadlines | cses.fi/1631 |
| 31 | Reading Books | cses.fi/1631 |
| 32 | Creating Strings | cses.fi/1622 |
| 33 | Apple Division | cses.fi/1623 |
| 34 | Grid Paths | cses.fi/1625 |
| 35 | Palindrome Reorder | cses.fi/1755 |
Dynamic Programming (19)
| # | Problem | Link |
|---|---|---|
| 1 | Dice Combinations | cses.fi/1633 |
| 2 | Minimizing Coins | cses.fi/1634 |
| 3 | Coin Combinations I | cses.fi/1635 |
| 4 | Coin Combinations II | cses.fi/1636 |
| 5 | Removing Digits | cses.fi/1637 |
| 6 | Grid Paths | cses.fi/1638 |
| 7 | Book Shop | cses.fi/1158 |
| 8 | Array Description | cses.fi/1746 |
| 9 | Counting Towers | cses.fi/2413 |
| 10 | Edit Distance | cses.fi/1639 |
| 11 | Rectangle Cutting | cses.fi/1744 |
| 12 | Money Sums | cses.fi/1745 |
| 13 | Removal Game | cses.fi/1097 |
| 14 | Two Sets II | cses.fi/1093 |
| 15 | Increasing Subsequence | cses.fi/1145 |
| 16 | Projects | cses.fi/1140 |
| 17 | Elevator Rides | cses.fi/1653 |
| 18 | Counting Tilings | cses.fi/2181 |
| 19 | Graph Paths I | cses.fi/1723 |
Graph Algorithms (36)
| # | Problem | Link |
|---|---|---|
| 1 | Counting Rooms | cses.fi/1192 |
| 2 | Labyrinth | cses.fi/1193 |
| 3 | Building Roads | cses.fi/1194 |
| 4 | Message Route | cses.fi/1667 |
| 5 | Building Teams | cses.fi/1668 |
| 6 | Round Trip | cses.fi/1669 |
| 7 | Monsters | cses.fi/1195 |
| 8 | Shortest Routes I | cses.fi/1671 |
| 9 | Shortest Routes II | cses.fi/1672 |
| 10 | High Score | cses.fi/1673 |
| 11 | Flight Discount | cses.fi/1675 |
| 12 | Cycle Finding | cses.fi/1197 |
| 13 | Flight Routes | cses.fi/1674 |
| 14 | Road Reparation | cses.fi/1675 |
| 15 | Road Construction | cses.fi/1676 |
| 16 | Flight Routes Check | cses.fi/1682 |
| 17 | Planets and Kingdoms | cses.fi/1683 |
| 18 | Giant Pizza | cses.fi/1684 |
| 19 | Coin Collector | cses.fi/1686 |
| 20 | Mail Delivery | cses.fi/1693 |
| 21 | De Bruijn Sequence | cses.fi/1692 |
| 22 | Knight Moves | cses.fi/1694 |
| 23 | Book Shop | cses.fi/1158 |
| 24 | Array Description | cses.fi/1746 |
| 25 | Projects | cses.fi/1140 |
| 26 | Elevator Rides | cses.fi/1653 |
| 27 | Counting Tilings | cses.fi/2181 |
| 28 | Course Schedule | cses.fi/1679 |
| 29 | Longest Flight Route | cses.fi/1680 |
| 30 | Game Routes | cses.fi/1681 |
| 31 | Investigation | cses.fi/1202 |
| 32 | Planets Queries I | cses.fi/1750 |
| 33 | Planets Queries II | cses.fi/1160 |
| 34 | Planets Cycles | cses.fi/1751 |
| 35 | Road Reparation | cses.fi/1675 |
| 36 | Road Construction | cses.fi/1676 |
Tree Algorithms (16)
| # | Problem | Link |
|---|---|---|
| 1 | Tree Diameter | cses.fi/1131 |
| 2 | Tree Distances I | cses.fi/1132 |
| 3 | Tree Distances II | cses.fi/1133 |
| 4 | Company Queries I | cses.fi/1687 |
| 5 | Company Queries II | cses.fi/1688 |
| 6 | Distance Queries | cses.fi/1135 |
| 7 | Counting Paths | cses.fi/1136 |
| 8 | Subtree Queries | cses.fi/1137 |
| 9 | Path Queries | cses.fi/1138 |
| 10 | Path Queries II | cses.fi/2134 |
| 11 | Distinct Colors | cses.fi/1139 |
| 12 | Finding a Centroid | cses.fi/2079 |
| 13 | Fixed-Length Paths I | cses.fi/2080 |
| 14 | Fixed-Length Paths II | cses.fi/2081 |
| 15 | Tree Isomorphism I | cses.fi/2130 |
| 16 | Tree Isomorphism II | cses.fi/2131 |
Mathematics (31)
| # | Problem | Link |
|---|---|---|
| 1 | Josephus Queries | cses.fi/2164 |
| 2 | Exponentiation | cses.fi/1095 |
| 3 | Exponentiation II | cses.fi/1712 |
| 4 | Counting Divisors | cses.fi/1713 |
| 5 | Common Divisors | cses.fi/1081 |
| 6 | Sum of Divisors | cses.fi/1082 |
| 7 | Divisor Analysis | cses.fi/2182 |
| 8 | Prime Multiples | cses.fi/2185 |
| 9 | Counting Coprime Pairs | cses.fi/2417 |
| 10 | Binomial Coefficients | cses.fi/1079 |
| 11 | Creating Strings II | cses.fi/1715 |
| 12 | Distributing Apples | cses.fi/1716 |
| 13 | Christmas Party | cses.fi/1717 |
| 14 | Fibonacci Numbers | cses.fi/1722 |
| 15 | Throwing Dice | cses.fi/1096 |
| 16 | Graph Paths II | cses.fi/1724 |
| 17 | Dice Probability | cses.fi/1725 |
| 18 | Moving Robots | cses.fi/1726 |
| 19 | Candy Lottery | cses.fi/1727 |
| 20 | Missing Coin Sum | cses.fi/2183 |
String Algorithms (17)
| # | Problem | Link |
|---|---|---|
| 1 | Word Combinations | cses.fi/1731 |
| 2 | String Matching | cses.fi/1753 |
| 3 | Finding Borders | cses.fi/1732 |
| 4 | Finding Periods | cses.fi/1733 |
| 5 | Minimal Rotation | cses.fi/1110 |
| 6 | Longest Palindrome | cses.fi/1111 |
| 7 | Required Substring | cses.fi/1112 |
| 8 | Palindrome Queries | cses.fi/2420 |
| 9 | String Transform | cses.fi/2421 |
| 10 | Substring Order I | cses.fi/2108 |
| 11 | Substring Order II | cses.fi/2109 |
| 12 | Substring Distribution | cses.fi/2110 |
| 13 | Counting Patterns | cses.fi/2210 |
| 14 | Pattern Positions | cses.fi/2104 |
| 15 | Distinct Substrings | cses.fi/2105 |
| 16 | Repeating Substring | cses.fi/2106 |
| 17 | String Removal | cses.fi/2107 |
Additional Topics (50+)
The CSES Problem Set also covers:
- Range Queries — Segment trees, Fenwick trees, Sparse tables
- Geometry — Convex hull, line intersections, polygon area
- Advanced Techniques — Meet in the middle, Heavy-Light decomposition
- Additional Graph Algorithms — Maximum flow, min cut, matching
📁 Solutions
Solutions are available in the repo at:
Last updated: May 2026
Sources
- cses-fi-problemset-task-1068
- cses-fi-problemset-task-1069
- cses-fi-problemset-task-1070
- cses-fi-problemset-task-1071
- cses-fi-problemset-task-1072
- cses-fi-problemset-task-1073
- cses-fi-problemset-task-1074
- cses-fi-problemset-task-1076
- cses-fi-problemset-task-1077
- cses-fi-problemset-task-1079
- cses-fi-problemset-task-1081
- cses-fi-problemset-task-1082
- cses-fi-problemset-task-1083
- cses-fi-problemset-task-1084
- cses-fi-problemset-task-1085
- cses-fi-problemset-task-1090
- cses-fi-problemset-task-1091
- cses-fi-problemset-task-1092
- cses-fi-problemset-task-1093
- cses-fi-problemset-task-1094
- cses-fi-problemset-task-1095
- cses-fi-problemset-task-1096
- cses-fi-problemset-task-1097
- cses-fi-problemset-task-1110
- cses-fi-problemset-task-1111
- cses-fi-problemset-task-1112
- cses-fi-problemset-task-1131
- cses-fi-problemset-task-1132
- cses-fi-problemset-task-1133
- cses-fi-problemset-task-1135
- cses-fi-problemset-task-1136
- cses-fi-problemset-task-1137
- cses-fi-problemset-task-1138
- cses-fi-problemset-task-1139
- cses-fi-problemset-task-1140
- cses-fi-problemset-task-1141
- cses-fi-problemset-task-1145
- cses-fi-problemset-task-1158
- cses-fi-problemset-task-1160
- cses-fi-problemset-task-1163
- cses-fi-problemset-task-1192
- cses-fi-problemset-task-1193
- cses-fi-problemset-task-1194
- cses-fi-problemset-task-1195
- cses-fi-problemset-task-1197
- cses-fi-problemset-task-1202
- cses-fi-problemset-task-1617
- cses-fi-problemset-task-1618
- cses-fi-problemset-task-1619
- cses-fi-problemset-task-1620
- cses-fi-problemset-task-1621
- cses-fi-problemset-task-1622
- cses-fi-problemset-task-1623
- cses-fi-problemset-task-1624
- cses-fi-problemset-task-1625
- cses-fi-problemset-task-1629
- cses-fi-problemset-task-1631
- cses-fi-problemset-task-1632
- cses-fi-problemset-task-1633
- cses-fi-problemset-task-1634
- cses-fi-problemset-task-1635
- cses-fi-problemset-task-1636
- cses-fi-problemset-task-1637
- cses-fi-problemset-task-1638
- cses-fi-problemset-task-1639
- cses-fi-problemset-task-1640
- cses-fi-problemset-task-1643
- cses-fi-problemset-task-1644
- cses-fi-problemset-task-1645
- cses-fi-problemset-task-1653
- cses-fi-problemset-task-1660
- cses-fi-problemset-task-1661
- cses-fi-problemset-task-1662
- cses-fi-problemset-task-1667
- cses-fi-problemset-task-1668
- cses-fi-problemset-task-1669
- cses-fi-problemset-task-1671
- cses-fi-problemset-task-1672
- cses-fi-problemset-task-1673
- cses-fi-problemset-task-1674
- cses-fi-problemset-task-1675
- cses-fi-problemset-task-1676
- cses-fi-problemset-task-1679
- cses-fi-problemset-task-1680
- cses-fi-problemset-task-1681
- cses-fi-problemset-task-1682
- cses-fi-problemset-task-1683
- cses-fi-problemset-task-1684
- cses-fi-problemset-task-1686
- cses-fi-problemset-task-1687
- cses-fi-problemset-task-1688
- cses-fi-problemset-task-1692
- cses-fi-problemset-task-1693
- cses-fi-problemset-task-1694
- cses-fi-problemset-task-1712
- cses-fi-problemset-task-1713
- cses-fi-problemset-task-1715
- cses-fi-problemset-task-1716
- cses-fi-problemset-task-1717
- cses-fi-problemset-task-1722
- cses-fi-problemset-task-1723
- cses-fi-problemset-task-1724
- cses-fi-problemset-task-1725
- cses-fi-problemset-task-1726
- cses-fi-problemset-task-1727
- cses-fi-problemset-task-1731
- cses-fi-problemset-task-1732
- cses-fi-problemset-task-1733
- cses-fi-problemset-task-1744
- cses-fi-problemset-task-1745
- cses-fi-problemset-task-1746
- cses-fi-problemset-task-1750
- cses-fi-problemset-task-1751
- cses-fi-problemset-task-1753
- cses-fi-problemset-task-1754
- cses-fi-problemset-task-1755
- cses-fi-problemset-task-2079
- cses-fi-problemset-task-2080
- cses-fi-problemset-task-2081
- cses-fi-problemset-task-2104
- cses-fi-problemset-task-2105
- cses-fi-problemset-task-2106
- cses-fi-problemset-task-2107
- cses-fi-problemset-task-2108
- cses-fi-problemset-task-2109
- cses-fi-problemset-task-2110
- cses-fi-problemset-task-2130
- cses-fi-problemset-task-2131
- cses-fi-problemset-task-2134
- cses-fi-problemset-task-2162
- cses-fi-problemset-task-2163
- cses-fi-problemset-task-2164
- cses-fi-problemset-task-2165
- cses-fi-problemset-task-2181
- cses-fi-problemset-task-2182
- cses-fi-problemset-task-2183
- cses-fi-problemset-task-2185
- cses-fi-problemset-task-2205
- cses-fi-problemset-task-2210
- cses-fi-problemset-task-2216
- cses-fi-problemset-task-2217
- cses-fi-problemset-task-2413
- cses-fi-problemset-task-2417
- cses-fi-problemset-task-2420
- cses-fi-problemset-task-2421
- cses-fi-problemset-task-2428
- cses-fi-problemset-task-2431
- cses-fi-problemset