Submission #165819

#TimeUsernameProblemLanguageResultExecution timeMemory
165819muhi1112Baloni (COCI15_baloni)C++17
100 / 100
282 ms38560 KiB
#include <bits/stdc++.h> using namespace std; #define f1 first #define s2 second #define pb push_back #define mp make_pair #define ll long long #define fri(a) freopen(a,"r",stdin); #define fro(a) freopen(a,"w",stdout); const int N=1e6+5; int n,a,ans,sayi[N],k,m; vector<int>height[N],dizi; int main(){ //fri("in.txt"); //fro("out.txt"); ios_base::sync_with_stdio(false); cin.tie(NULL); cin>>n; for(int i=0;i<n;i++){ cin>>a; dizi.pb(a); sayi[dizi[i]]++; height[dizi[i]].pb(i); } //cout<<"sa"<<endl; for(int i=1e6;i>0;i--){ ans+=sayi[i]; while(sayi[i]--){ //cout<<sayi[i]<<endl; k=i; m=*height[k].begin(); height[k].erase(height[k].begin()); //cout<<m<<endl; while(m<n){ //cout<<"sa"<<endl; k--; auto it=lower_bound(height[k].begin(),height[k].end(),m); if(it==height[k].end()){ break; } m=*it; sayi[dizi[*it]]--; height[k].erase(it); } } } //cout<<"sa"<<endl; cout<<ans<<endl; return 0; }
#Verdict Execution timeMemoryGrader output
Fetching results...