Submission #253312

#TimeUsernameProblemLanguageResultExecution timeMemory
253312eohomegrownappsGondola (IOI14_gondola)C++14
55 / 100
22 ms2424 KiB
#include "gondola.h" #include <bits/stdc++.h> using namespace std; int valid(int n, int inputSeq[]){ vector<bool> seen(250002,false); int mnv = 250002; int mnind = -1; for (int i = 0; i<n; i++){ if (seen[inputSeq[i]]){ return 0; } seen[inputSeq[i]]=true; if (mnv>inputSeq[i]){ mnv=inputSeq[i]; mnind=i; } } if (mnv>n){ return 1; } mnv++; for (int i = (mnind+1)%n; i!=mnind; i=(i+1)%n){ if (1<=inputSeq[i]&&inputSeq[i]<=n){ if (mnv!=inputSeq[i]){ return 0; } } mnv++; } return 1; } //---------------------- int replacement(int n, int gondolaSeq[], int replacementSeq[]){ vector<pair<int,int>> gondind; int oneind = 0; for (int i = 0; i<n; i++){ if (gondolaSeq[i]<n){ oneind=(i+n-(gondolaSeq[i]-1))%n; break; } } for (int i = 0; i<n; i++){ if (gondolaSeq[i]>=n){ gondind.push_back({gondolaSeq[i],i}); } } vector<int> gondolas(n); int gptr = oneind; int incr = 0; do { gondolas[gptr]=incr; gptr++;incr++; gptr%=n; } while (gptr!=oneind); sort(gondind.begin(),gondind.end()); int ptr = 0; int gprev = n; int nextgondola = n; for (auto g : gondind){ for (int h = gprev; h<g.first; h++){ //replace gondola at index g.second replacementSeq[ptr]=gondolas[g.second]+1; ptr++; gondolas[g.second]=nextgondola; nextgondola++; } gprev=g.first; } return ptr; } //---------------------- 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...