제출 #677863

#제출 시각아이디문제언어결과실행 시간메모리
677863MherMoney (IZhO17_money)C++14
100 / 100
899 ms58160 KiB
#define _CRT_SECURE_NO_WARNINGS
#include <algorithm>
#include <cmath>
#include <iostream>
#include <map>
#include <set>
#include <string>
#include <vector>
#include <queue>

using namespace std;

const int N = 1000003, mod = 1e9 + 7;

int n;
int a[N];

void solve()
{
    cin >> n;
    for (int i = 1; i <= n; i++)
        cin >> a[i];
    int ans = 0;
    multiset<int> st;
    multiset<int>::iterator p = st.insert(0), c;
    for (int i = 1; i <= n; i++)
    {
        if (a[i] < a[i - 1])
        {
            ans++;
            c = st.insert(a[i]);
            p = c;
            continue;
        }
        if (a[i] == a[i - 1])
        {
            st.insert(a[i]);
            p++;
            continue;
        }
        c = st.insert(a[i]);
        c = st.lower_bound(a[i]);
        if (++p != c)
        {
            ans++;
            p = st.upper_bound(*c);
            p--;
        }
    }
    cout << ans + 1 << endl;
}

int main() {
    ios::sync_with_stdio(false);
    cin.tie(0);
    cout.tie(0);
    int t = 1;
    //cin >> t;
    while (t--)
        solve();
    return 0;
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...