Submission #762037

#TimeUsernameProblemLanguageResultExecution timeMemory
762037AndreyThe Big Prize (IOI17_prize)C++14
90 / 100
56 ms336 KiB
#include "prize.h" #include<bits/stdc++.h> using namespace std; int find_best(int n) { int y = 0,l,r,m,x,big = 0,z,k; for(int i = 0; (i+1)*(i+1) <= n; i++) { vector<int> a = ask(i); if(a[0] == 0 && a[1] == 0) { return i; } if(a[0]+a[1] > big) { big = a[0]+a[1]; y = i+1; } } srand(time(NULL)); while(y < n) { vector<int> a = ask(y); x = a[0]; z = a[1]; l = y; r = n-1; k = rand()%150+100; if(x+z == 0) { return y; } for(int i = l+k; i < n; i+=k) { a = ask(i); if(a[0] == x && a[1] == z) { l = i; } else { r = i-1; l = r-k+1; break; } } while(l < r) { m = (l+r+1)/2; a = ask(m); if(a[0] == x && a[1] == z) { l = m; } else { r = m-1; } } a = ask(l+1); if(a[0] == 0 && a[1] == 0) { return l+1; } y = l+2; } }

Compilation message (stderr)

prize.cpp: In function 'int find_best(int)':
prize.cpp:55:1: warning: control reaches end of non-void function [-Wreturn-type]
   55 | }
      | ^
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...