Submission #54226

#TimeUsernameProblemLanguageResultExecution timeMemory
54226radoslav11The Big Prize (IOI17_prize)C++14
20 / 100
121 ms50716 KiB
#include <bits/stdc++.h> #include "prize.h" //#include "Lgrader.cpp" using namespace std; template<class T, class T2> inline int chkmax(T &x, const T2 &y) { return x < y ? x = y, 1 : 0; } template<class T, class T2> inline int chkmin(T &x, const T2 &y) { return x > y ? x = y, 1 : 0; } const int MAXN = (1 << 20); vector<int> memo[MAXN]; int Q = 0; vector<int> query(int i) { if(memo[i].empty()) memo[i] = ask(i), Q++; if(Q == 10000) assert(false); return memo[i]; } int find_best(int n) { int i = 0; while(i < n) { auto curr = query(i); if(curr[0] == 0 && curr[1] == 0) return i; int low = i, high = n - 1, mid, ret; /*for(int l = 0; low + (1 << l) < n; l++) { if(curr != query(low + (1 << l))) break; low += (1 << l); high = low + (1 << l); }*/ while(low <= high) { mid = (low + high) >> 1; if(curr == query(mid)) low = mid + 1, ret = mid; else high = mid - 1; } i = ret + 1; } return -1; }

Compilation message (stderr)

prize.cpp: In function 'int find_best(int)':
prize.cpp:47:5: warning: 'ret' may be used uninitialized in this function [-Wmaybe-uninitialized]
   i = ret + 1;
   ~~^~~~~~~~~
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...