Submission #1278836

#TimeUsernameProblemLanguageResultExecution timeMemory
1278836stanwaibbangeGondola (IOI14_gondola)C++20
55 / 100
18 ms6080 KiB
#include <bits/stdc++.h> using namespace std; #include "gondola.h" const int INF = numeric_limits<int>::max() / 2; int valid(int n, int inputSeq[]) { int minv = INF; int index = -1; for (int i = 0; i < n; ++i) { if (inputSeq[i] <= 0) { return 0; } if (inputSeq[i] <= n) { minv = inputSeq[i] - i; index = i; break; } } for (int i = index + 1; i < n; ++i) { if (inputSeq[i] <= 0) { return 0; } if (inputSeq[i] <= n) { if (inputSeq[i]%n != (minv + i)%n) { return 0; } } } sort(inputSeq,inputSeq+n); int last = -1; for (int i = 0; i < n; ++i) { if (inputSeq[i] == last) { return 0; } last = inputSeq[i]; } return 1; } //---------------------- int replacement(int n, int gondolaSeq[], int replacementSeq[]) { int minv = 1; int index = -1; int l = 0; map<int,int> m{}; for (int i = 0; i < n; ++i) { m[gondolaSeq[i]] = i; // if (gondolaSeq[i] <= n) // { // minv = gondolaSeq[i] - i; // index = i; // break; // } } for (auto p : m) { if (p.first <= n) { minv = (p.first - p.second + n)%n; } break; } int rep = n+1; for (auto p : m) { if (p.first <= n) { continue; } int r = (minv + p.second + n)%n; if (r==0) { r = n; } while (r < p.first) { replacementSeq[l] = r; ++l; r = rep; ++rep; } } 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...