# | Submission time | Handle | Problem | Language | Result | Execution time | Memory |
---|---|---|---|---|---|---|---|
136040 | 2019-07-24T16:09:21 Z | arthurconmy | Gondola (IOI14_gondola) | C++14 | 0 ms | 0 KB |
#include <bits/stdc++.h> #ifndef ARTHUR_LOCAL #include "gondola.h" #endif using namespace std; bool used[250001]; int valid(int n, int S[]) { pair<int,int> minn = {int(1e9),int(1e9)}; for(int i=0; i<n; i++) { if(used[S[i]]) return 0; used[S[i]]=1; minn = min(minn, make_pair(S[i],i)); } int cur = minn.first; if(cur>n) return 1; for(int j=minn.second+1; j<n; j++) { if(S[j]<cur) return 0; if(S[j]<=n) S[j]=cur; } for(int j=0; j<minn.second; j++) { if(S[j]<cur) return 0; if(S[j]<=n) S[j]=cur; } return 1; }