Submission #1301298

#TimeUsernameProblemLanguageResultExecution timeMemory
1301298orgiloogiiGondola (IOI14_gondola)C++20
25 / 100
34 ms4556 KiB
#include "gondola.h" #include <bits/stdc++.h> using namespace std; int valid(int n, int g[]) { int idx = -1; map <int, bool> vis; for (int i = 0;i < n;i++) { if (vis[g[i]] == true) return 0; vis[g[i]] = true; if (g[i] <= n && idx == -1) { idx = i; } } if (idx == -1) return 1; int cnt = g[idx]; for (int i = idx + 1;;i++) { i %= n; if (i == idx) break; cnt %= n; cnt++; if (g[i] <= n && g[i] != cnt) return 0; } return 1; } //---------------------- int replacement(int n, int g[], int r[]) { int idx = -1; map <int, bool> vis; int mx = 0; for (int i = 0;i < n;i++) { if (vis[g[i]] == true) return 0; vis[g[i]] = true; if (g[i] <= n && idx == -1) { idx = i; } mx = max(mx, g[i]); } int sz = 0; int exp[n] = {0}; exp[idx] = g[idx]; int cnt = g[idx]; for (int i = idx + 1;;i++) { i %= n; if (i == idx) break; cnt %= n; cnt++; exp[i] = cnt; } if (idx == -1) { sz = n; for (int i = 0;i < n;i++) { r[i] = i + 1; } } else { vector <pair <int, int>> v; for (int i = 0;i < n;i++) { if (g[i] != exp[i]) { v.push_back({g[i], exp[i]}); } } sort(v.begin(), v.end()); for (int i = 0;i < v.size();i++) { r[sz] = v[i].second; sz++; } } for (int i = n + 1;i <= mx;i++) { if (vis[i] == false) { r[sz] = i; sz++; } } return mx - n; } int countReplacement(int n, int g[]) { return -3; } //int main() { // int arr[5] = {6, 2, 7, 8, 9}; // int brr[10] = {}; // cout << replacement(5, arr, arr) << endl; //}
#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...