Submission #135251

#TimeUsernameProblemLanguageResultExecution timeMemory
135251FedericoSMoney (IZhO17_money)C++14
45 / 100
1577 ms61928 KiB
#include <iostream> #include <set> #include <vector> using namespace std; int N; int B[1000006]; vector<int> A; set<int> S; int ans; bool flag; int main(){ cin>>N; for(int i=0;i<N;i++) cin>>B[i]; A.push_back(B[0]); for(int i=1;i<N;i++) if(B[i]!=B[i-1]) A.push_back(B[i]); N=A.size(); S.insert(1e9); for(int i=0;i<N-1;i++){ if((A[i]>A[i+1]) or (A[i]<A[i+1] and *S.lower_bound(A[i]-flag+1)<A[i+1])){ flag=false; ans++; } else flag=true; S.insert(A[i]); } cout<<ans+1; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...