Files
cses/CSES - CSES Problem Set/Sorting_And_Searching/Towers.cpp
2024-06-14 19:49:10 +02:00

26 lines
616 B
C++

//
// Created by darian on 07.06.24.
//
#include <bits/stdc++.h>
using namespace std;
using ll = long long;
int main() {
int n; cin >> n;
vector<ll> towers;
for (int i{}; i < n; i++) {
ll a; cin >> a;
auto it = std::lower_bound(towers.begin(), towers.end(), a+1);
if (it == towers.begin()) {
if (towers.size()) towers[0] = a;
else towers.insert(towers.begin(), a);
} else if (it == towers.end()) {
towers.push_back(a);
} else {
towers[it - towers.begin()] = a;
}
}
cout << towers.size() << endl;
}