Submission #1064105

#TimeUsernameProblemLanguageResultExecution timeMemory
1064105damjandavkovGondola (IOI14_gondola)C++17
55 / 100
16 ms6236 KiB
#include "gondola.h" #include <bits/stdc++.h> using namespace std; int valid(int n, int v[]) { int i, x = -1, y; vector<bool> w(250000, 0); for (i = 0; i < n; i++) { v[i]--; if (w[v[i]]) return 0; w[v[i]] = 1; if (v[i] < n) { y = v[i] - i; if (y < 0) y += n; if (x == -1) x = y; if (x != y) return 0; } } return 1; } int replacement(int n, int v[], int rS[]) { int i, x = -1, y, t = n, j = 0; vector<bool> w(250000, 0); vector<vector<int> > in(n); for (i = 0; i < n; i++) { v[i]--; if (w[v[i]]) return 0; w[v[i]] = 1; if (v[i] < n) { y = v[i] - i; if (y < 0) y += n; if (x == -1) x = y; if (x != y) return 0; } } if (x == -1) x = 0; for (i = 0; i < n; i++) in[(i + x) % n] = {v[i], (i + x) % n}; sort(in.begin(), in.end()); for (i = 0; i < n; i++) { if (in[i][0] < n) continue; rS[j] = in[i][1] + 1; j++; t++; while (t <= in[i][0]) { rS[j] = t; j++; t++; } } return j; } int countReplacement(int n, int v[]) { 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...