제출 #1334068

#제출 시각아이디문제언어결과실행 시간메모리
1334068WarinchaiMoney (IZhO17_money)C++20
0 / 100
1 ms348 KiB
#include<bits/stdc++.h>
using namespace std;

int ar[1000005];
int dp[305];
int inf=1e9;

multiset<int>ms;

int main(){
    ios_base::sync_with_stdio(false);
    cin.tie(0);
    int n;cin>>n;
    for(int i=1;i<=n;i++)cin>>ar[i],dp[i]=inf;
    for(int i=1;i<=n;i++){
        ms.insert(ar[i]);
    }
    int ans=0;
    for(int i=n;i>=1;){
        int mx=ar[i],mn=ar[i];
        //cerr<<"i:"<<i<<"\n";
        int cur=i;
        while(i>=1){
            if(ar[i]>ar[i+1]&&i!=cur)break;
            mn=min(mn,ar[i]);
            ms.erase(ms.lower_bound(ar[i]));
            //cerr<<"erase:"<<ar[i]<<"\n";
            auto it=ms.upper_bound(mn);
            int val=inf;
            if(it!=ms.end())val=*it;
            //cerr<<"sz:"<<ms.size()<<"\n";
            if(val<mx){
                break;
            }
            i--;
        }
        ans++;
    }
    cout<<ans;
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...