제출 #43124

#제출 시각아이디문제언어결과실행 시간메모리
43124RayaBurong25_1커다란 상품 (IOI17_prize)C++14
20 / 100
14 ms4364 KiB
#include "prize.h"
#include <stdio.h>
#include <vector>
#include <algorithm>
int L[200005], R[200005];
int V[200005];
int min(int a, int b)
{
	return (a < b)?a:b;
}
int max(int a, int b)
{
	return (a > b)?a:b;
}
int find_best(int n) {
	int i;
	for (i = 0; i < n; i++)
		L[i] = -1;
	int mn, md, mx;
	//first sig
	std::vector<int> r;
	r = ask(0);
	L[0] = r[0];
	R[0] = r[1];
	if (R[0] == 0)
		return 0;
	int sig = 0;
	while (1)
	{
		mn = sig;
		mx = n;
		while (mx != mn)
		{
			if (mx - mn == 1)
			{
				sig = mx;
				break;
			}
			md = (mn + mx)/2;
			if (L[md] == -1)
			{
				r = ask(md);
				L[md] = r[0];
				R[md] = r[1];
			}
			if (L[md] == L[sig] && R[md] == R[sig])
				mn = md;
			else
				mx = md;
		}
		if (sig == n)
			break;
		if (L[sig] == -1)
		{
			r = ask(sig);
			L[sig] = r[0];
			R[sig] = r[1];
		}
		if (L[sig] == 0 && R[sig] == 0)
			return sig;
	}
}

컴파일 시 표준 에러 (stderr) 메시지

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