CSES - Towers

Author: Benjamin Qi

Table of Contents


Edit on Github

Greedy approach: always add the next cube on top of the tower with the smallest possible cube (or create a new tower if this isn't possible). We can use a vector or multiset to do this.

Equivalent to longest non-decreasing subsequence!

1#include <bits/stdc++.h>
2using namespace std;
3
4using ll = long long;
5using ld = long double;
6using db = double;
7using str = string; // yay python!
8
9using pi = pair<int,int>;
10using pl = pair<ll,ll>;

Join the USACO Forum!

Stuck on a problem, or don't understand a module? Join the USACO Forum and get help from other competitive programmers!

Give Us Feedback on CSES - Towers!