Submission #1321618

#TimeUsernameProblemLanguageResultExecution timeMemory
1321618tsetsenbilegGondola (IOI14_gondola)C++20
0 / 100
2 ms1456 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 startpos(int n, const vector<int>& a) { int minpos = min_element(a.begin(), a.end()) - a.begin(); int start = ((minpos - a[minpos] + 1) % n + n) % n; } int valid(int n, int inputSeq[]) { vector<int> a(n); for (int i = 0; i < n; i++) a[i] = inputSeq[i]; int cur = 1; int start = startpos(n, a); 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]); int start = startpos(n, a); vector<pr> broke; int cur = 1; for (int i = start; i < n; i++) { if (a[i] > n) { broke.pb({a[i], cur}); } cur++; } for (int i = 0; i < start; i++) { if (a[i] > n) { broke.pb({a[i], cur}); } cur++; } int l = 0; sort(broke.begin(), broke.end()); int curn = n+1; for (auto [num, fir] : broke) { replacementSeq[l] = fir; l++; for (int i = curn; i < num; i++) { replacementSeq[l] = i; l++; } curn = num+1; } return l; } int countReplacement(int n, int inputSeq[]){ return -3; }

Compilation message (stderr)

gondola.cpp: In function 'int startpos(int, const std::vector<int>&)':
gondola.cpp:11:1: warning: no return statement in function returning non-void [-Wreturn-type]
   11 | }
      | ^
#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...