Submission #534689

#TimeUsernameProblemLanguageResultExecution timeMemory
534689fadi57Money (IZhO17_money)C++14
100 / 100
881 ms58244 KiB
#include<bits/stdc++.h>
using namespace std;
const int mx=2e6+900;
const int mx2=1e6+9;
typedef long long ll;
const int mod=998244353 ;
const int SQ=400;
const int inf=1e9+10;

int main(){

   ios_base::sync_with_stdio(0);
    cin.tie(0);
     int n;cin>>n;int ans=1; int a[n];
     int i=0;
     for( i=0;i<n;i++){
        cin>>a[i];
     }
     set<int>s;
     i=0;
     s.insert(a[0]);
     i++;
     while(a[i]>=a[i-1]){
        s.insert(a[i]);
        i++;
     }
     int x=*(s.upper_bound(a[i]));
     for(;i<n;i++){
        if(a[i]>=a[i-1]&&a[i]<=x){
            s.insert(a[i]);
        }else{
          ans++;
          if(*(s.rbegin())<=a[i]){
          x=inf;
          }else{
            x=*(s.upper_bound(a[i]));
          }
                    s.insert(a[i]);
        }
     }
     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...