Submission #467129

#TimeUsernameProblemLanguageResultExecution timeMemory
467129ritul_kr_singhMoney (IZhO17_money)C++17
100 / 100
1136 ms62052 KiB
#include <bits/stdc++.h>
using namespace std;
#define int long long
#define sp << ' ' <<
#define nl << '\n'

const int MAX_N = 1e6+1;

int N, A[MAX_N], ans;
multiset<int> s = {MAX_N};

signed main(){
	cin.tie(0)->sync_with_stdio(0);
	
	cin >> N;

	for(int i=0; i<N; ++i) cin >> A[i];

	for(int i=0, j; i<N; i=j){
		j = i + 1;
		int x = *s.upper_bound(A[i]);
		s.insert(A[i]);

		while(j < N && A[j-1] <= A[j] && A[j] <= x)
			s.insert(A[j++]);

		++ans;
	}

	cout << ans;
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...