26 lines
616 B
C++
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;
|
|
} |