Submission #838172

#TimeUsernameProblemLanguageResultExecution timeMemory
838172Ronin13The Big Prize (IOI17_prize)C++17
20 / 100
54 ms332 KiB
#include "prize.h"
#include <bits/stdc++.h>
#define ll long long 
#define ull unsigned ll
#define f first
#define s second 
#define pii pair<int,int>
#define pll pair<ll,ll>
#define pb push_back
#define epb emplace_back
using namespace std;

int find_best(int n) {
	int x = 600;
	int mn = 1e9, mni;
	for(int i = 0; i < min(x, n); i++){
		vector <int> v = ask(i);
		if(v[0] == 0 && v[1] == 0){
			return i;
		}
		if(v[0] + v[1] < mn)
			mn = v[0] + v[1], mni = i;
	}
	int cur = mni;
	int cnt = 0;
	vector <int> a = ask(mni);
	while(true){
		int l = cur, r = n;
		
		//vector <int> a = ask(mni);
		//if(a[1] - cnt == o[1]) break;
		while(l + 1 < r){
			int mid = (l + r) / 2;
			vector <int> o = ask(mid);
			if(o[0] == o[1] && o[0] == 0){
				return mid;
			}
			if(a[1] - cnt == o[1]) l = mid;
			else r = mid;
		}
		cur = r;
		if(r == n) break;
		vector <int> o = ask(r);
		if(o[0] == 0 && o[1] == 0) return r;
		cnt++;
	}
	return 0;
}

Compilation message (stderr)

prize.cpp: In function 'int find_best(int)':
prize.cpp:26:26: warning: 'mni' may be used uninitialized in this function [-Wmaybe-uninitialized]
   26 |  vector <int> a = ask(mni);
      |                          ^
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...