Submission #442136

#TimeUsernameProblemLanguageResultExecution timeMemory
442136Nima_NaderiMoney (IZhO17_money)C++14
100 / 100
1226 ms58180 KiB
//In the name of GOD #pragma GCC optimize("Ofast") #include<bits/stdc++.h> using namespace std; typedef int ll; const ll MXN = 1e6 + 10; ll n, ans; ll A[MXN]; set<ll> st; 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]; for(int i = 1; i <= n; i ++){ ans ++; auto itr = st.upper_bound(A[i]); int ptr = i; if(itr == st.end()){ while(ptr < n && A[ptr] <= A[ptr + 1]){ ptr ++; } } else { int x = *itr; while(ptr < n && A[ptr + 1] <= x && A[ptr] <= A[ptr + 1]){ ptr ++; } } for(; i <= ptr; i ++) st.insert(A[i]); i --; } cout << ans << '\n'; return 0; } //! N.N
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...