제출 #808997

#제출 시각아이디문제언어결과실행 시간메모리
808997Kerim곤돌라 (IOI14_gondola)C++17
25 / 100
30 ms4588 KiB
#include "gondola.h" #include "bits/stdc++.h" using namespace std; bool is_unique(int n, int arr[]){ set<int> s; for (int i = 0; i < n; i++){ if (s.count(arr[i])) return false; s.insert(arr[i]); } return true; } vector<int> beginning(int n, int pos, int value){ vector<int> arr(n); for (int i = 0; i < n; i++){ arr[pos] = value+1; pos = (pos+1)%n; value = (value+1)%n; } return arr; } int valid(int n, int arr[]){ if (!is_unique(n, arr)) return false; int pos = -1; for (int i = 0; i < n; i++) if (arr[i] <= n) pos = i; if (pos == -1) return 1; vector<int> original = beginning(n, pos, arr[pos]-1); for (int i = 0; i < n; i++) if (arr[i] <= n and arr[i] != original[i]) return 0; return 1; } //---------------------- int replacement(int n, int arr[], int replacementSeq[]){ assert(valid(n, arr)); int max_value = 0, pos = -1; for (int i = 0; i < n; i++){ max_value = max(max_value, arr[i]); if (arr[i] <= n) pos = i; } if (max_value == n) return 0; vector<int> original = beginning(n, pos, arr[pos]-1); if (max_value == n+1){ for (int i = 0; i < n; i++) if (arr[i] == n+1) replacementSeq[0] = original[i]; return 1; } return -2; } //---------------------- 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...