Submission #1321610

#TimeUsernameProblemLanguageResultExecution timeMemory
1321610tsetsenbilegGondola (IOI14_gondola)C++20
25 / 100
10 ms1080 KiB
#include "gondola.h" #include <bits/stdc++.h> using namespace std; #define pb push_back using pr = pair<int, int>; const int INF = 1e9+7, MOD = 1e9+9; int valid(int n, int inputSeq[]) { vector<int> a(n); for (int i = 0; i < n; i++) a[i] = inputSeq[i]; int minpos = min_element(a.begin(), a.end()) - a.begin(); int start = ((minpos - a[minpos] + 1) % n + n) % n; int cur = 1; for (int i = start; i < n; i++) { if (a[i] > n || cur == a[i]) { cur++; } else return 0; } for (int i = 0; i < start; i++) { if (a[i] > n || cur == a[i]) { cur++; } else return 0; } sort(a.begin(), a.end()); auto it = upper_bound(a.begin(), a.end(), n) - a.begin(); if (it == n) return 1; if (a[it] != n+1) return 0; for (int i = it+1; i < n; i++) { if (a[i] != a[i-1] + 1) return 0; } return 1; } int replacement(int n, int gondolaSeq[], int replacementSeq[]) { vector<int> a = {0}; for (int i = 0; i < n; i++) a.pb(gondolaSeq[i]); sort(a.begin(), a.end()); int l = 0; for (int i = 1; i < n; i++) { for (int j = a[i-1]+1; j < a[i]; j++) { replacementSeq[l] = j; l++; } } return l; } 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...