Submission #132665

#TimeUsernameProblemLanguageResultExecution timeMemory
132665TalantThe Big Prize (IOI17_prize)C++17
20 / 100
92 ms24000 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);

vector <int> res[N];

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

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


            if (res[cur].size() == 0)
            res[cur] = ask(cur);
            int rt = res[cur][1];
            if (res[cur][0] + res[cur][1] == 0) return cur;

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

                  if (res[m][1] == rt) l = m;
                  else r = m;
            }
            if (res[r].size() == 0)
                  res[r] = ask(r);
            if (res[r][0] + res[r][1] == 0) return r;

            if (res[r][1] == rt) l = r;

            cur = l + 1;
            if (cur > n - 1) break;
      }
}

Compilation message (stderr)

prize.cpp: In function 'int find_best(int)':
prize.cpp:18:11: warning: unused variable 'cn' [-Wunused-variable]
       int cn = 0;
           ^~
prize.cpp:47:1: warning: control reaches end of non-void function [-Wreturn-type]
 }
 ^
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...