# | Time | Username | Problem | Language | Result | Execution time | Memory |
---|---|---|---|---|---|---|---|
582224 | jasmin | Gondola (IOI14_gondola) | C++17 | 0 ms | 0 KiB |
This submission is migrated from previous version of oj.uz, which used different machine for grading. This submission may have different result if resubmitted.
#include<bits/stdc++.h>
#include<gondola.h>
using namespace std;
const int inf=1e9;
vector<int> reorder(int n, vector<int> s){
int small=inf; int ind=-1;
for(int i=0; i<n; i++){
if(s[i]<small){
small=s[i];
ind=i;
}
}
if(n<small){
return s;
}
int start=(n+ind-(small-1))%n;
vector<int> ans(n);
for(int i=0; i<n; i++){
ans[i]=s[(start+i)%n];
}
return ans;
}
bool valid(int n, int s[]){
s=reorder(n, s);
set<int> used;
for(int i=0; i<n; i++){
if(s[i]!=i+1){
if(s[i]<=n || used.find(s[i])!=used.end()){
return false;
}
used.insert(s[i]);
}
}
return true;
}
/*signed main(){
ios_base::sync_with_stdio(false);
cin.tie(0);
int n;
cin >> n;
vector<int> s(n);
for(int i=0; i<n; i++){
cin >> s[i];
}
cout << valid(n, s) << "\n";
}*/