Submission #93785

#TimeUsernameProblemLanguageResultExecution timeMemory
93785Bodo171Gondola (IOI14_gondola)C++14
55 / 100
27 ms2808 KiB
#include "gondola.h" #include <iostream> using namespace std; const int nmax=100005; int ap[10*nmax]; int v[nmax]; int i,act; void permuta(int a[],int b[],int n) { int offset=0; for(int i=0;i<n;i++) if(a[i]<=n) offset=i+1-a[i]; for(int i=0;i<n;i++) b[i]=a[(i+offset+n)%n]; } int valid(int n, int inputSeq[]) { permuta(inputSeq,v,n); for(int i=0;i<n;i++) { if(v[i]<=n&&v[i]!=i+1) return 0; if(ap[v[i]]) return 0; ap[v[i]]=1; } return 1; } //---------------------- int replacement(int n, int gondolaSeq[], int replacementSeq[]) { int l=0; permuta(gondolaSeq,v,n); int mx=0; for(i=0;i<n;i++) { ap[v[i]]=i+1; mx=max(mx,v[i]); } act=n; for(i=n+1;i<=mx;i++) if(ap[i]) { replacementSeq[l++]=ap[i]; act++; while(act<i) { replacementSeq[l++]=act; act++; } } return l; } //---------------------- int countReplacement(int n, int inputSeq[]) { return -3; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...