제출 #1220615

#제출 시각아이디문제언어결과실행 시간메모리
1220615kunzaZa183곤돌라 (IOI14_gondola)C++20
55 / 100
28 ms4676 KiB
#include "gondola.h" #include <bits/stdc++.h> using namespace std; int valid(int n, int inputSeq[]) { map<int, int> mii; for (int i = 0; i < n; i++) mii[inputSeq[i]]++; for (auto a : mii) if (a.second >= 2) return 0; int in = min_element(inputSeq, inputSeq + n) - inputSeq; if (in > n) return 1; int cur = inputSeq[in]; for (int i = in; i < n; i++) { if (inputSeq[i] <= n && inputSeq[i] != cur) return 0; cur++; cur %= n; } return 1; } //---------------------- int replacement(int n, int gondolaSeq[], int replacementSeq[]) { int in = min_element(gondolaSeq, gondolaSeq + n) - gondolaSeq; vector<int> rep(n, -1); if (gondolaSeq[in] <= n) { int cur = gondolaSeq[in]; for (int i = in; i < n; i++) { if (gondolaSeq[i] > n) rep[cur] = gondolaSeq[i]; cur++; cur %= n; } for (int i = 0; i < in; i++) { if (gondolaSeq[i] > n) rep[cur] = gondolaSeq[i]; cur++; cur %= n; } } else { for (int i = 0; i < n; i++) rep[i] = gondolaSeq[i]; } vector<pair<int, int>> vpii; for (int i = 0; i < n; i++) { if (rep[i] != -1) vpii.emplace_back(rep[i], i == 0 ? n : i); } // for (auto a : rep) // cout << a << " "; // cout << "\n"; sort(vpii.begin(), vpii.end()); // for (auto a : vpii) // cout << a.first << " " << a.second << "\n"; int cur = n + 1; int len = 0; for (auto a : vpii) { replacementSeq[len++] = a.second; for (int i = cur; i < a.first; i++) replacementSeq[len++] = i; cur = a.first + 1; } return len; } //---------------------- 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...