제출 #513767

#제출 시각아이디문제언어결과실행 시간메모리
513767blueMoney (IZhO17_money)C++17
100 / 100
910 ms54376 KiB
#include <iostream>
#include <set>
using namespace std;

int main()
{
    ios_base::sync_with_stdio(false);
    cin.tie(NULL);

    int N;
    cin >> N;

    int a[1+N];
    for(int i = 1; i <= N; i++) cin >> a[i];
    a[0] = 1'000'001;

    set<int> A;

    int res = 0;

    A.insert(1'000'001);

    int lim = 1'000'001;


    for(int i = 1; i <= N; i++)
    {
        // cerr << i << " : " << "a[i] = " << a[i] << ", lim = " << lim << "\n";
        if(a[i] < a[i-1] || a[i] > lim)
        {
            // cerr << "case 1\n";
            res++;
            lim = *A.lower_bound(a[i]+1);
            A.insert(a[i]);
        }
        else
        {
            // cerr << "case 2\n";
            // if(a[i] > lim)
            A.insert(a[i]);
        }
    }

    cout << res << '\n';
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...