Submission #1153795

#TimeUsernameProblemLanguageResultExecution timeMemory
1153795dzuizzPo (COCI21_po)C++20
10 / 70
6 ms1600 KiB
#include<bits/stdc++.h>
using namespace std;
#define int long long
signed main(){
  ios_base::sync_with_stdio(0); cin.tie(0); cout.tie(0);
  int n; cin>>n;
  int a[n]; for(auto&x:a) cin>>x;
  stack<int> st;
  int ans=0;
  for(int i=0;i<n;++i){
    //cout<<i<<": "<<st.size()<<'\n';
    if(st.size()){
      while(st.top()>a[i]) st.pop();
      if(!st.size()||st.top()<a[i])
        st.emplace(a[i]),++ans;
    }else if(a[i])
      st.emplace(a[i]), ++ans;
  }
  cout<<ans<<'\n';
  return 0;
  /*
  int n=3;
  for(int p=1;p<=n;++p){
    for(int q=1;q<=n;++q){
      for(int r=1;r<=n;++r){
        int a[n]{p,q,r};
        int x;
  //if(n<=1000){ // Subtask 1
    int ans=0;
    for(int i=0;i<n;++i){
      if(!a[i]) continue;
      ++ans;
      for(int j=i+1;j<n;++j){
        if(a[j]<a[i]) break;
        a[j]-=a[i];
      }
    }
    x=ans;
    //cout<<ans<<'\n';
    //return 0;
  //}
  ans=(a[0]>0);
  for(int i=1;i<n;++i)
    ans+=(a[i]>a[i-1]);
  //cout<<ans<<'\n';
      if(ans!=x){
        cout<<n<<" "<<p<<" "<<q<<" "<<r<<'\n';
      }
    }
  }
  }*/
  return 0;
}

#Verdict Execution timeMemoryGrader output
Fetching results...