Submission #571036

#TimeUsernameProblemLanguageResultExecution timeMemory
571036saarang123Money (IZhO17_money)C++17
100 / 100
1256 ms57912 KiB
#include <bits/stdc++.h>
using namespace std;
using ll = long long;

const int MXN = 1000 * 1000 + 3;
int a[MXN];
signed main() {
    std::ios::sync_with_stdio(0);
    std::cin.tie(0);
    int n; cin >> n;
    for(int i = 1; i <= n; i++) {
    	cin >> a[i];
    }
    
    set<int> s = {MXN};
    int ans = 0;
    for(int j = 1, i = 1; 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 << '\n';
    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...