제출 #868185

#제출 시각아이디문제언어결과실행 시간메모리
868185n1kThe Big Prize (IOI17_prize)C++17
20 / 100
44 ms852 KiB
#include "prize.h" #include <bits/stdc++.h> using namespace std; const int LOG = 18, TAKE = 450; int find_best(int n) { int mn = 1e9, id, cnt = 0; for(int id = 0; id < min(TAKE, n); id++){ auto c = ask(id); int s = c[0] + c[1]; if(s == 0){ return id; } mn = min(mn, s); } while(id < n){ // find next smallest num for(; id < n; id++){ auto c = ask(id); int s = c[0] + c[1]; cnt = c[0]; if(s == 0){ return id; } if(s == mn){ break; } } // overjump all min for(int j = LOG; j >= 0; j--){ int jump = 1<<j; if(id + jump >= n){ continue; } auto c = ask(id + jump); int s = c[0] + c[1]; if(s == 0){ return id + jump; } if(s == mn && c[0] == cnt){ id += jump; } } // go to the next which is not min id++; } assert(false); }

컴파일 시 표준 에러 (stderr) 메시지

prize.cpp: In function 'int find_best(int)':
prize.cpp:20:3: warning: 'id' may be used uninitialized in this function [-Wmaybe-uninitialized]
   20 |   for(; id < n; id++){
      |   ^~~
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...