Submission #977146

#TimeUsernameProblemLanguageResultExecution timeMemory
977146IsamMoney (IZhO17_money)C++17
0 / 100
1 ms348 KiB
#include<bits/stdc++.h>
using namespace std;

constexpr int sz = 1e6 + 6;

int n, a[sz], ans;

set<int> st, q;

int makni = 1E9;

int ola;

signed main(){
	ios_base::sync_with_stdio(0), cin.tie(0);
	cin >> n;
	for(register int i = 1; i <= n; ++i){
		cin >> a[i];
	}
	
	ans = 1;
	
	for(register int i = 1; i <= n; ++i){
		++ola;
		auto it = begin(st);
		if(ola > 1) it = st.upper_bound(a[i-1]);
		else it = st.lower_bound(a[i-1]);
		if(it != st.end()) makni = *it;
		
		if(a[i] < a[i-1] || makni < a[i]){
			ola = 1;
			++ans;	
			for(const int &to : q) st.insert(to);
			q.clear();
		}
		q.insert(a[i]);
	}	
	
	cout << ans << '\n';
	
}

Compilation message (stderr)

money.cpp: In function 'int main()':
money.cpp:17:19: warning: ISO C++17 does not allow 'register' storage class specifier [-Wregister]
   17 |  for(register int i = 1; i <= n; ++i){
      |                   ^
money.cpp:23:19: warning: ISO C++17 does not allow 'register' storage class specifier [-Wregister]
   23 |  for(register int i = 1; i <= n; ++i){
      |                   ^
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...