Submission #1352233

#TimeUsernameProblemLanguageResultExecution timeMemory
1352233KALARRYThe Big Prize (IOI17_prize)C++20
Compilation error
0 ms0 KiB
//chockolateman

#include<bits/stdc++.h>
// #include "prize.h"

using namespace std;

int search(int start,int end)
{
    if(start > end)
        return -1;
    int mid = (start + end)/2;
    vector<int> temp = ask(mid);
    if(temp[0]==0 && temp[1]==0)
        return mid;
    int l = -1;
    if(temp[0] != 0)
        l = search(start,mid-1);
    int r = -1;
    if(temp[1] != 0)
        r = search(mid+1,end);
    return max(l,r);
}

int find_best(int n) {
	int S = ceil(sqrt(n/500.000));
	int l = 0;
	int least_expensive = 0;
	vector<int> temp;
	for(int i = 0 ; i < min(500,n) ; i++)
	{
		temp = ask(i);
		least_expensive = max(least_expensive,temp[0] + temp[1]);
	}
	int cnt_special = 0;
	int pos = -1;
	while(l < n)
	{
		int r = min(n-1,l+S-1);
		temp = ask(r);
		int cur_score = temp[0] + temp[1];
		if(cur_score != least_expensive || temp[0] > cnt_special)
		{
			for(int i = l ; i <= r ; i++)
			{
				temp = ask(i);
				cur_score = temp[0] + temp[1];
				if(cur_score != least_expensive)
					cnt_special++;
				if(cur_score==0)
					pos = i;
			}
		}
		l = r + 1;
	}
	return pos;
}

Compilation message (stderr)

prize.cpp: In function 'int search(int, int)':
prize.cpp:13:24: error: 'ask' was not declared in this scope
   13 |     vector<int> temp = ask(mid);
      |                        ^~~
prize.cpp: In function 'int find_best(int)':
prize.cpp:32:24: error: 'ask' was not declared in this scope
   32 |                 temp = ask(i);
      |                        ^~~
prize.cpp:40:24: error: 'ask' was not declared in this scope
   40 |                 temp = ask(r);
      |                        ^~~