Submission #316078

#TimeUsernameProblemLanguageResultExecution timeMemory
316078MrDominoThe Big Prize (IOI17_prize)C++14
20 / 100
84 ms376 KiB
#include <bits/stdc++.h> #include "prize.h" using namespace std; mt19937 rng((long long) (new char)); int rep(int l, int r) { if (l > r) { return 0; } int m = l + rng() % (r - l + 1); vector<int> v = ask(m); if (v[0] == 0 && v[1] == 0) { return m; } int x = rep(l, m - 1); if (x) { return x; } int lo = m + 1, hi = r, last = m; while (lo <= hi) { int mid = (lo + hi) / 2; vector<int> v2 = ask(mid); if (v == v2) { last = mid; lo = mid + 1; } else { hi = mid - 1; } } return rep(last + 1, r); } int find_best(int n) { return rep(0, n - 1); }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...