Submission #7298

#TimeUsernameProblemLanguageResultExecution timeMemory
7298gs13068Gondola (IOI14_gondola)C++98
55 / 100
28 ms4408 KiB
#include "gondola.h" #include <algorithm> int arr[250001]; int now[250001]; int valid(int n, int inputSeq[]) { int i,j; for(i=0;i<n;i++)if(inputSeq[i]<=n)break; if(i<n)for(j=0;j<n;j++)if(inputSeq[i]<=n&&(inputSeq[j]+i)%n!=(inputSeq[i]+j)%n)return 0; std::sort(inputSeq,inputSeq+n); for(i=1;i<n;i++)if(inputSeq[i-1]==inputSeq[i])return 0; return 1; } int replacement(int n, int gondolaSeq[], int replacementSeq[]) { int i,j; for(i=1;i<=250000;i++)arr[i]=-1; for(i=0;i<n;i++)arr[gondolaSeq[i]]=i; for(i=0;i<n;i++)if(gondolaSeq[i]<=n)break; for(j=0;j<n;j++)now[j]=i<n?(gondolaSeq[i]+j-i+n-1)%n+1:j+1; j=0; for(i=0;i<n;i++)if(gondolaSeq[i]>j)j=gondolaSeq[i]; for(i=n+1;i<=j;i++) { replacementSeq[i-n-1]=arr[i]>=0?now[arr[i]]:now[arr[j]]; now[arr[i]>=0?arr[i]:arr[j]]=i; } return j-n; } int countReplacement(int n, int inputSeq[]) { return -1; }
#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...