Submission #144056

#TimeUsernameProblemLanguageResultExecution timeMemory
144056The_WolfpackMoney (IZhO17_money)C++14
100 / 100
254 ms15096 KiB
#include <bits/stdc++.h> using namespace std; const int NMAX=1e6+8; int fen[NMAX]; void add(int x) { for(;x<NMAX;x+=(x&-x)) fen[x]++; } int gget(int x) { int res=0; for(;x>0;x-=(x&-x)) res+=fen[x]; return res; } int n,a[NMAX]; int main() { ios_base::sync_with_stdio(false); cin>>n; int res=1; vector<int>tmp; for(int i=1;i<=n;i++) { cin>>a[i]; if(!tmp.size()) { tmp.push_back(a[i]); continue; } else { if(a[i]<tmp.back() || gget(a[i]-1)>gget(tmp[0])) { res++; for(int x:tmp) add(x); tmp.clear(); } tmp.push_back(a[i]); } } cout<<res<<endl; 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...