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;

}