제출 #140387

#제출 시각아이디문제언어결과실행 시간메모리
140387shashwatchandra커다란 상품 (IOI17_prize)C++17
20 / 100
103 ms1272 KiB
#include "prize.h" #include<bits/stdc++.h> using namespace std; #define REP(i,n) for(int i = 0;i < n;i++) #define RE(i,n) for(int i = 1;i <= n;i++) const int N = 2e5+1; int blocksize = 381; int block[N]; int blockstart[N]; int find_best(int n) { int curblock = 1; int cursize = 0; blockstart[1] = 0; for(int i = 0;i < n;i++){ block[i] = curblock; cursize++; if(cursize == blocksize){ curblock++; cursize = 0; blockstart[curblock] = i+1; } } int i = 0; while(i < n){ int lo = i; int hi = min(n-1,blockstart[block[i]]+blocksize-1); vector<int> res = ask(i); if(!(res[0]+res[1]))return i; while(lo < hi){ int mid = (lo+hi+1)/2; vector<int> wow = ask(mid); if(wow == res)lo = mid; else hi = mid-1; } i = lo+1; } return 0; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...