제출 #1135746

#제출 시각아이디문제언어결과실행 시간메모리
1135746HasanV11010238곤돌라 (IOI14_gondola)C++20
10 / 100
0 ms328 KiB
#include <bits/stdc++.h> #include "gondola.h" #define ll long long using namespace std; int valid(int n, int inputSeq[]) { map<int, int> ma; int mind = -1; for (int i = 0; i < n; i++){ if (inputSeq[i] <= n){ if (mind == -1 || inputSeq[i] < inputSeq[mind]){ mind = i; } } if (ma[inputSeq[i]] > 0) return 0; ma[inputSeq[i]]++; } if (mind == -1) return 1; int va = inputSeq[mind]; for (int i = 0; i < va - 1; i++){ mind--; if (mind < 0) mind = n - 1; } for (int i = 0; i < n; i++){ int no = (i + mind) % n; } return 1; } int replacement(int n, int go[], int rep[]) { if (!valid(n, go)) return 0; int mind = -1; for (int i = 0; i < n; i++){ if (go[i] <= n){ if (mind == -1 || go[i] < go[mind]){ mind = i; } } } if (mind == -1) return 1; int va = go[mind]; for (int i = 0; i < va - 1; i++){ mind--; if (mind < 0) mind = n - 1; } vector<vector<int>> v; for (int i = 0; i < n; i++){ int no = (i + mind) % n; if (go[no] > n){ v.push_back({go[no], i + 1}); } } sort(v.begin(), v.end()); int ind = 0, no = n + 1, cnt = 0; for (auto el : v){ rep[ind] = el[1]; el[1] = no; ind++; no++; cnt++; while (el[1] != el[0]){ rep[ind] = no; el[1] = no; no++; ind++; cnt++; } } return cnt; } int countReplacement(int n, int inp[]) { if (!valid(n, inp)) return 0; return 1; }
#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...