Submission #413749

#TimeUsernameProblemLanguageResultExecution timeMemory
413749AntekbGondola (IOI14_gondola)C++14
25 / 100
19 ms972 KiB
#include "gondola.h" #include<bits/stdc++.h> using namespace std; int valid(int n, int inputSeq[]) { bool b=0; int V[n]; for(int i=0; i<n; i++)V[i]=inputSeq[i]; sort(V, V+n); for(int i=1; i<n; i++)if(V[i]==V[i-1])return 0; for(int i=0; i<n; i++){ if(inputSeq[i]<=n){ int t=inputSeq[i]-i-1; //cout<<inputSeq[i]<<"\n"; for(int j=0; j<n; j++)V[j]=inputSeq[(j-t+n)%n]; //for(int j=0; j<n; j++)cout<<V[j]<<" "; b=1; break; } } if(b==0)return 1; for(int i=0; i<n; i++)if(V[i]<=n && V[i]!=i+1)b=0; for(int i=0; i<n; ++i)inputSeq[i]=V[i]; return b; } //---------------------- int replacement(int n, int gondolaSeq[], int replacementSeq[]) { if(!valid(n, gondolaSeq))return 0; /*vector<int > V(n); for(int i=0; i<n; i++)V[i]=inputSeq[i]; sort(V.begin(), V.end());*/ int m=0; for(int i=0; i<n; i++){ if(gondolaSeq[i]>gondolaSeq[m])m=i; } int l=gondolaSeq[m]-n; /*bool b=1; for(int i=0; i<n; i++)cout<<gondolaSeq[i]<<" "; cout<<"\n";*/ for(int i=0; i<n; i++){ if(gondolaSeq[i]>n && i!=m)replacementSeq[gondolaSeq[i]-n-1]=gondolaSeq[i]; } gondolaSeq[m]=m+1; for(int i=0; i<l; i++){ if(!replacementSeq[i]){ replacementSeq[i]=gondolaSeq[m]; gondolaSeq[m]=i+l+1; } } 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...