제출 #1062330

#제출 시각아이디문제언어결과실행 시간메모리
1062330ArthuroWich커다란 상품 (IOI17_prize)C++17
20 / 100
3041 ms11404 KiB
#include"prize.h" #include<bits/stdc++.h> using namespace std; int ans = -1; bool check(vector<int> res) { return (res[0] == res[1] && res[0] == 0); } vector<vector<int>> seg(200005, {-1, -1}); void calc(int l, int r) { if (l == r || ans != -1) { return; } int m = (l+r)/2; if (seg[l][0] == -1) { seg[l] = ask(l); } if (seg[m][0] == -1) { seg[m] = ask(m); } if (check(seg[l])) { ans = l; return; } if (check(seg[m])) { ans = m; return; } if (seg[l] != seg[m]) { calc(l, m); } if (ans != -1) { return; } if (seg[r][0] == -1) { seg[r] = ask(r); } if (check(seg[r])) { ans = r; return; } if (seg[m] != seg[r]) { calc(m, r); } } int find_best(int n) { calc(0, n-1); return ans; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...