# | Submission time | Handle | Problem | Language | Result | Execution time | Memory |
---|---|---|---|---|---|---|---|
250885 | 2020-07-19T10:54:42 Z | godwind | Gondola (IOI14_gondola) | C++14 | 0 ms | 0 KB |
#include <iostream> #include <set> using namespace std; int valid(int n, int a[]) { set<int> diff; for (int i = 0; i < n; ++i) { if (a[i] < 1) return 0; diff.insert(a[i]); } if (diff.size() != n) return 0; int pos = -1; for (int i = 0; i < n; ++i) { if (a[i] <= n) { pos = i; break; } } if (pos == -1) return 1; pos = (pos - a[pos] + 1 + n) % n; for (int i = 0; i < n; ++i) { int need = i + 1; int p = (pos + i) % n; if (a[p] <= n && a[p] != need) return 0; } return 1; } //---------------------- int replacement(int n, int gondolaSeq[], int replacementSeq[]) { return -2; } //---------------------- int countReplacement(int n, int inputSeq[]) { return -3; }