Submission
Status:
P---------
Subtask/Task Score:
10/100
Score: 10
User: Bunkoblong
Problemset: กองชาม
Language: cpp
Time: 0.016 second
Submitted On: 2025-10-01 23:53:10
#include <iostream>
#include <vector>
#include <algorithm>
using namespace std;
int main() {
int N;
cin >> N;
vector<int> bowls(N);
for (int i = 0; i < N; ++i) {
cin >> bowls[i];
}
vector<int> piles;
for (int i = 0; i < N; ++i) {
int bowl = bowls[i];
auto it = upper_bound(piles.begin(), piles.end(), bowl);
if (it == piles.begin()) {
piles.insert(piles.begin(), bowl);
} else {
--it;
*it = bowl;
}
}
cout << piles.size() << endl;
}