Submission #1303355

#TimeUsernameProblemLanguageResultExecution timeMemory
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...