Submission #428214

#TimeUsernameProblemLanguageResultExecution timeMemory
428214DaktoGondola (IOI14_gondola)C++17
55 / 100
288 ms4508 KiB
#include "gondola.h" #include <bits/stdc++.h> using namespace std; int valid(int n, int inputSeq[]) { int begind=-1; map<int,int> m; for(int i=0; i<n; i++){ if(m[inputSeq[i]]) return 0; m[inputSeq[i]]++; if(inputSeq[i]<=n){ if(begind==-1){ begind=(n+i-inputSeq[i]+1)%n; } else if((n+i-begind)%n+1!=inputSeq[i]) return 0; } } return 1; } //---------------------- int replacement(int n, int gondolaSeq[], int replacementSeq[]) { int begind=0; map<int,int> m; for(int i=0; i<n; i++){ if(gondolaSeq[i]>n){ m[gondolaSeq[i]]=i; } else begind=(n+i-gondolaSeq[i]+1)%n; } int c=n+1; for(auto i:m){ int curr=(n+i.second-begind)%n+1; cerr<<i.first<<" "<<i.second<<endl; while(curr!=i.first){ replacementSeq[c-n-1]=curr; curr=c; c++; } } return c-n-1; } //---------------------- 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...