Submission #821031

#TimeUsernameProblemLanguageResultExecution timeMemory
821031vjudge1The Big Prize (IOI17_prize)C++17
20 / 100
32 ms336 KiB
#include "prize.h"
using namespace std;

int ans, N, L, R;

void rec(int l, int r){
	if (l < 0 || r >= N || l > r)
		return ;
	else{
		int mid = (l + r)/2;
		//cout << l << " " << r << " " << mid << "\n";
		if (mid <= L || mid >= R){
			return ;
		}
		else{
			vector <int> q = ask(mid);
			if (q[0] > 0)
				rec(l, mid - 1);
			else
				L = mid;
			if (q[1] > 0)
				rec(mid + 1, r);
			else
				R = mid;
			if (q[0] == 0 && q[1] == 0)
				ans = mid;
		}
	}
}

int find_best(int n) {
	N = n;
	L = -1;
	R = N;
	rec(0, n - 1);
	return ans;
}

#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...