# | Time | Username | Problem | Language | Result | Execution time | Memory |
---|---|---|---|---|---|---|---|
284192 | Bill_00 | Gondola (IOI14_gondola) | C++14 | 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 <stdlib.h>
#include "gondola.h"
int valid(int n, int a[])
{
int k[250000]={0};
int y[250000]={0},d=0;
for(int i=0;i<n;i++){
k[a[i]]++;
}
for(int i=0;i<n;i++){
if(k[a[i]]>1) return 0;
}
for(int i=0;i<n;i++){
if(a[i]<=n){
if(y[(a[i]-i+n)%n]==0) d++;
y[(a[i]-i+n)%n]++;
}
}
if(d<=1) return 1;
return 0;
}
//----------------------
int replacement(int n, int gondolaSeq[], int replacementSeq[])
{
int y[100000]={0};
for(int i=0;i<n;i++){
if(a[i]<=n){
if(y[(a[i]-i+n)%n]==0) d++;
y[(a[i]-i+n)%n]++;
}
}
int e=0;
for(int i=0;i<n;i++){
e=max(e,y[i]);
}
return n-e;
}
//----------------------
int countReplacement(int n, int inputSeq[])
{
return -3;
}