제출 #1180959

#제출 시각아이디문제언어결과실행 시간메모리
1180959HappyCapybara커다란 상품 (IOI17_prize)C++17
20 / 100
23 ms412 KiB
#include "prize.h" #include<bits/stdc++.h> using namespace std; int x; map<int,int> m; int solve(int l, int r, int y){ if (y == 0 || r < l) return -1; int mid = (l+r)/2; int fm = mid; vector<int> a; while (mid <= r){ a = ask(mid); if (a[0]+a[1] == 0) return mid; if (a[0]+a[1] == x) break; mid++; } return max(solve(l, fm-1, a[0]-(mid-fm)), solve(mid+1, r, a[1])); } int find_best(int n) { for (int i=0; i<470; i++){ vector<int> a = ask(i); if (a[0]+a[1] == 0) return i; m[a[0]+a[1]]++; } x = m.rend()->first; return solve(470, n-1, x-(470-m[x])); }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...