제출 #1315854

#제출 시각아이디문제언어결과실행 시간메모리
1315854Luvidi커다란 상품 (IOI17_prize)C++20
90 / 100
23 ms408 KiB
#include "prize.h" #include <bits/stdc++.h> using namespace std; int find_best(int n) { vector<int> v; int mx=-1,id; for(int i=0;i<min(n,500);i++){ auto t=ask(i); if(t[0]+t[1]>mx){ mx=t[0]+t[1]; id=i; } } for(int i=0;i<id;i++){ v.push_back(i); } while(v.size()<mx){ int l=0,r=n-1; if(!v.empty())l=v.back()+1; while(l<r){ int m=l+r>>1; auto t=ask(m); if(t[0]+t[1]<mx||t[0]>v.size())r=m; else l=m+1; } v.push_back(l); } for(int i:v){ auto t=ask(i); if(t[0]+t[1]==0)return i; } return -1; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...