Submission #31167

#TimeUsernameProblemLanguageResultExecution timeMemory
31167cscandkswonGondola (IOI14_gondola)C++14
35 / 100
23 ms4560 KiB
#include "gondola.h" #include <bits/stdc++.h> using namespace std; const int MAXN=100000; int init[MAXN]; void settinginit(int n, int seq[]){ int i, x=-1; for(i=0; i<n; i++)if(seq[i]<=n){ x=(i-seq[i]+1+n)%n; break; } if(x==-1) x=0; for(i=0; i<n; i++, x=(x+1)%n) init[x]=i+1; } int valid(int n, int inputSeq[]){ int i; settinginit(n, inputSeq); sort(inputSeq, inputSeq+n); for(i=1; i<n; i++) if(inputSeq[i-1]==inputSeq[i]) return 0; return 1; } pair<int, int> rep[MAXN]; int replacement(int n, int gondolaSeq[], int replacementSeq[]){ int i, length=0, change=0, last=n+1; settinginit(n, gondolaSeq); for(i=0; i<n; i++) if(gondolaSeq[i]!=init[i]) rep[change].first=gondolaSeq[i], rep[change++].second=i; sort(rep, rep+change); for(i=0; i<change; i++){ replacementSeq[length++]=init[rep[i].second]; for(; last<rep[i].first; last++) replacementSeq[length++]=last; last=rep[i].first+1; } return length; } 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...