Submission #132646

#TimeUsernameProblemLanguageResultExecution timeMemory
132646TalantThe Big Prize (IOI17_prize)C++17
0 / 100
3 ms392 KiB
#include "prize.h"
#include <bits/stdc++.h>

#define sc second
#define fr first
#define mk make_pair
#define pb push_back

using namespace std;

const int N = (1e6 + 5);
const int inf = (1e9 + 7);

int find_best(int n) {
      int cur = 0;
      int cn = 0;

      while (1) {
            int l = cur,r = n - 1;

            while (r - l > 1)  {
                  int m = (r + l) >> 1;
                  vector<int> res = ask(m);
                  if (res[0] + res[1] == 0) return m;

                  if (res[0] <= cn) l = m;
                  else r = m;
            }
            vector <int> res = ask(r);
            if (res[0] + res[1] == 0) return r;

            if (res[0] <= cn) l = r;
            cn ++;
            cur = l + 1;
            if (cur > n - 1) break;
            res = ask(cur);
            if (res[0] + res[1] == 0) return cur;
      }
}

Compilation message (stderr)

prize.cpp: In function 'int find_best(int)':
prize.cpp:39:1: warning: control reaches end of non-void function [-Wreturn-type]
 }
 ^
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...