Submission #668128

#TimeUsernameProblemLanguageResultExecution timeMemory
668128finn__The Big Prize (IOI17_prize)C++17
90 / 100
87 ms5308 KiB
#include <bits/stdc++.h> #include "prize.h" using namespace std; int find_best(int n) { int ans_max = 0; vector<vector<int>> v(n); for (size_t i = 0; i < min(n, 474); i++) { v[i] = ask(i); ans_max = max(ans_max, v[i][0] + v[i][1]); if (!v[i][0] && !v[i][1]) return i; } int i = -1, found = 0; while (1) { int a = i + 1, b = n - 1; while (a < b) { int mid = (a + b) / 2; if (v[mid].empty()) v[mid] = ask(mid); if (!v[mid][0] && !v[mid][1]) return mid; if (v[mid][0] + v[mid][1] == ans_max) { if (v[mid][0] == found) a = mid + 1; else b = mid; } else b = mid; } found++; i = a; if (v[i].empty()) v[i] = ask(i); if (!v[i][0] && !v[i][1]) return i; } }

Compilation message (stderr)

prize.cpp: In function 'int find_best(int)':
prize.cpp:10:26: warning: comparison of integer expressions of different signedness: 'size_t' {aka 'long unsigned int'} and 'const int' [-Wsign-compare]
   10 |     for (size_t i = 0; i < min(n, 474); i++)
      |                        ~~^~~~~~~~~~~~~
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...