제출 #283044

#제출 시각아이디문제언어결과실행 시간메모리
283044MohamedAhmed04The Big Prize (IOI17_prize)C++14
컴파일 에러
0 ms0 KiB
#include <bits/stdc++.h>
#include "prize.h"
#include "grader.cpp"

using namespace std ;

const int MAX = 2e5 + 10 ;

vector<int>val[MAX] ;

int cnt = 0 ;

vector<int> Ask(int idx)
{
	if(val[idx].size() == 0)
	{
		cnt++ ;
		assert(cnt <= 10000) ;
		val[idx] = ask(idx) ;
	}
	return val[idx] ;
}

int find_best(int n) 
{
	int maxcnt = 0 ;
	for(int i = 0 ; i < 1 ; ++i)
	{
		Ask(i) ;
		maxcnt = max(maxcnt , val[i][0] + val[i][1]) ;
		if(val[i][0] + val[i][1] == 0)
			return i ;
	}
	int st = -1 ;
	for(int i = 0 ; i < 500 ; ++i)
	{
		if(val[i][0] + val[i][1] == maxcnt)
		{
			st = i ;
			break ;
		}
	}
	assert(st != -1) ;
	vector<int>v ;
	for(int i = st ; i < n-1 ; ++i)
	{
		int l = i , r = n-1 ;
		int idx = n-1 ;
		while(l <= r)
		{
			int mid = (l + r) >> 1 ;
			v = Ask(mid) ;
			if(v[0] == val[i][0] && v[1] == val[i][1])
				idx = mid , l = mid+1 ;
			else
				r = mid-1 ;
		}
		for(int j = idx+1 ; j < n ; ++j)
		{
			Ask(j) ;
			if(val[j][0] + val[j][1] == val[i][0] + val[i][1])
			{
				i = j-1 ;
				break ;	
			}
			if(val[j][0] == 0 && val[j][1] == 0)
				return j ;
		}
	}
}

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

prize.cpp: In function 'int find_best(int)':
prize.cpp:44:13: warning: control reaches end of non-void function [-Wreturn-type]
   44 |  vector<int>v ;
      |             ^
/tmp/ccYmfxRm.o: In function `ask(int)':
grader.cpp:(.text+0x0): multiple definition of `ask(int)'
/tmp/ccW5j7GR.o:prize.cpp:(.text+0x30): first defined here
/tmp/ccYmfxRm.o: In function `main':
grader.cpp:(.text.startup+0x0): multiple definition of `main'
/tmp/ccW5j7GR.o:prize.cpp:(.text.startup+0x0): first defined here
collect2: error: ld returned 1 exit status