Submission #619189

#TimeUsernameProblemLanguageResultExecution timeMemory
619189SlavicGThe Big Prize (IOI17_prize)C++17
0 / 100
1 ms296 KiB
#include "prize.h" #include "bits/stdc++.h" using namespace std; map<int, vector<int>> mp; int ans = -1; vector<int> query(int i) { if(mp.count(i)) return mp[i]; vector<int> paiu = ask(i); mp[i] = paiu; if(paiu[0] + paiu[1] == 0) ans = i; return paiu; } void rec(int l, int r) { if(ans != -1) return; if(l >= r) return; if(ans != -1) return; if(query(r)[0] >= query(l)[0] && query(r)[1] <= query(l)[1]) return; if(ans != -1) return; int mid = l + r >> 1; if(query(mid)[0] + query(mid)[1] == 0) { ans = mid; return; } if(ans != -1) return; rec(l, mid); if(ans != -1) return; rec(mid + 1, r); if(ans != -1) return; } int find_best(int n) { ans = -1; mp.clear(); rec(0, n - 1); return ans; }

Compilation message (stderr)

prize.cpp: In function 'void rec(int, int)':
prize.cpp:21:17: warning: suggest parentheses around '+' inside '>>' [-Wparentheses]
   21 |     int mid = l + r >> 1;
      |               ~~^~~
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...