제출 #209427

#제출 시각아이디문제언어결과실행 시간메모리
209427TAISA_커다란 상품 (IOI17_prize)C++14
0 / 100
86 ms1912 KiB
#include "prize.h" #include <bits/stdc++.h> using namespace std; using P=pair<int,int>; /*vector<int> s; vector<int> ask(int id){ cout<<id<<endl; int a,b;cin>>a>>b; vector<int> res{a,b}; return res; }*/ int find_best(int n) { vector<int> a; vector<P> v(n,P(-1,-1)); int en=n; int cnt=0; int ma=3; for(int i=0;i<min(n,500);i++){ a=ask(i); ma=max(ma,a[0]+a[1]); v[i]=P(a[0],a[1]); } while(1){ int ok=0,ng=en; while(ng-ok>1){ int mid=(ok+ng)/2; if(v[mid].first==-1){ a=ask(mid); v[mid]=P(a[0],a[1]); } if(v[mid].second==cnt){ if(v[mid].second+v[mid].first==ma){ ng=mid; }else{ ok=mid; } }else{ ok=mid; } } // cout<<ok<<endl; if(v[ok].first+v[ok].second==0){ return ok; } en=ok; cnt++; } return 0; } /*int main(){ int n;cin>>n; s.resize(n); for(int i=0;i<n;i++){ cin>>s[i]; } cout<<find_best(n)<<endl; }*/
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...