제출 #1163471

#제출 시각아이디문제언어결과실행 시간메모리
1163471WH8Money (IZhO17_money)C++20
100 / 100
662 ms55200 KiB
#include <bits/stdc++.h>
#include <ext/pb_ds/assoc_container.hpp>
#include <ext/pb_ds/tree_policy.hpp>

using namespace std;
using namespace __gnu_pbds;
#define g0(x) get<0>(x)
#define g1(x) get<1>(x)
#define g2(x) get<2>(x)

#define pb push_back
#define int long long 
#define f first
#define s second
#define pll pair<long long, long long>

signed main(){
	int n;cin>>n;
	int a[n];
	for(int i=0;i<n;i++){
		cin>>a[i];
	}
	set<int> s;
	int ans=0;
	for(int i=0;i<n;){
		int lim=1e9;
		int j=i+1;
		auto it=s.upper_bound(a[i]);
		if(it!=s.end())lim=*it;
		while(j<n and a[j]<=lim and a[j] >=a[j-1]){
			j++;
		}
		for(int k=i;k<j;k++){
			s.insert(a[k]);
		}
		i=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...