제출 #1303355

#제출 시각아이디문제언어결과실행 시간메모리
1303355truongdz_top12Money (IZhO17_money)C++20
100 / 100
622 ms55372 KiB
#pragma GCC optimize("O3")
#include<bits/stdc++.h>
#define all(x) x.begin(),x.end()
using namespace std;
int n,ans=1,a[1000000+36],id[1000000+36];
set<pair<int,int>>S;
int main(){
    ios::sync_with_stdio(0);cin.tie(0);cout.tie(0);
    cin>>n;
    for(int i=1;i<=n;++i){
        cin>>a[i];
        id[i]=i;
    }
    S.insert({a[1],id[1]});
    for(int i=2;i<=n;++i){
        auto it=S.find({a[i-1],id[i-1]});
        if((*it).first>a[i]){
            ++ans;
            S.insert({a[i],id[i]});
            continue;
        }
        ++it;
        if(it==S.end()){
            S.insert({a[i],id[i]});
            continue;
        }
        if((*it).first<a[i])
            ++ans;
        else if((*it).first==a[i])
            id[i]=(*it).second-1;
        S.insert({a[i],id[i]});
    }
    cout<<ans;
    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...