# | Time | Username | Problem | Language | Result | Execution time | Memory |
---|---|---|---|---|---|---|---|
1276132 | karlsoos | Gondola (IOI14_gondola) | C++20 | 0 ms | 0 KiB |
#include <bits/stdc++.h>
#include "gondola.h"
using namespace std;
int valid(int n, int inputSeq[]){
bool seen[250001];
int anc = 0;
for(int i = 0; i<n; i++){
if(inputSeq[i] <= n){
anc = i;
break;
}
}
int canc = inputSeq[anc];
for(int i = 0; i<n; i++){
if(inputSeq[i] > n){
if(seen[inputSeq[i]]){
return 0;
}
seen[inputSeq[i]] = 1;
}
else{
if(inputSeq[i] != canc){
return 0;
}
canc++;
if(canc > n){
canc -= n;
}
}
}
return 1;
}
int replacement(int n, int gondolaSeq[], int replacementSeq[]){
return 0;
}
int countReplacement(int n, int inputSeq[]){
return 0;
}
int main() {
int t;
cin>>t;
if(t < 4){
int n;
cin>>n;
int v[n];
for(int i = 0; i<n; i++){
cin>>v[i];
}
bool e = valid(n,v);
cout<<e<<"\n";
}
else{
cout<< 0;
}
}