제출 #540986

#제출 시각아이디문제언어결과실행 시간메모리
540986creepedMoney (IZhO17_money)C++14
100 / 100
1205 ms61932 KiB
#include<bits/stdc++.h>
using namespace std;
typedef long long ll;

ll n,a[1000002];
ll cnt;

int main() {

    //freopen("money.in", "r", stdin);
    //freopen("money.out", "w", stdout);

    cin>>n;
    for(ll i=1;i<=n;i++)
        cin>>a[i];
    
    set<ll> st;
    st.insert(100000000);
    int next = 100000000;

    for(ll i=1;i<=n;i++)
    {
        if(i > 1 && a[i] == a[i-1])
            continue;
        auto cur = st.lower_bound(a[i]);
        if(i == 1 || a[i] < a[i-1] || *cur != next)
            cnt ++, next = *st.upper_bound(a[i]);
        st.insert(a[i]);
    }
    cout<<cnt<<endl;

}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...