제출 #335669

#제출 시각아이디문제언어결과실행 시간메모리
335669couplefire커다란 상품 (IOI17_prize)C++17
90 / 100
114 ms512 KiB
#include "prize.h" #include <bits/stdc++.h> using namespace std; int find_best(int n) { if(n == 1) return 0; int mx = 0; for(int i = 0; i<min(500, n); i++){ vector<int> vv = ask(i); mx = max(mx, vv.front()+vv.back()); } int cur = 0; for(int i = 0; i<mx; i++){ int lo = cur, hi = n-1; while(lo < hi){ int mid = lo+(hi-lo)/2; vector<int> vv = ask(mid); int a = vv.front(), b = vv.back(); if(a+b < mx) hi = mid; else if(a == i) lo = mid+1; else hi = mid-1; } vector<int> vvv = ask(lo); if(vvv.front()+vvv.back() == 0) return lo; cur = lo+1; } return 0; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...