Submission #81103

# Submission time Handle Problem Language Result Execution time Memory
81103 2018-10-23T19:25:33 Z giorgikob The Big Prize (IOI17_prize) C++14
20 / 100
1000 ms 1048576 KB
#include "prize.h"
#include<bits/stdc++.h>
#define F first
#define S second
using namespace std;
pair<int,int>p,p1;
vector<int>v,v1;
int A[200005];
int ANS[200005];
int ANS1[200005];
int ans=-1;
void go(int L,int R)
{
	if(ans>=0)return ;
	if(L>R)return;
	if(L==R)
	{
		v.clear();
		if(ANS[L]>=0)
		v.push_back(ANS[L]),v.push_back(ANS1[L]);
		else
		v=ask(L),ANS[L]=v[0],ANS1[L]=v[1];
		A[v[0]]=min(A[v[0]],L);
		if(v[0]+v[1]==0)
		{
			ans=L;
			return; 
		}
		return;
	}
	else
	{
		v1.clear();
		if(ANS[R]>=0)
		v1.push_back(ANS[R]),v1.push_back(ANS1[R]);
		else
		v1=ask(R),ANS[R]=v1[0],ANS1[R]=v1[1];
		A[v1[0]]=min(A[v1[0]],R);
		if(v1[0]+v1[1]==0)
		{
			ans=R;
			return; 
		}
		v.clear();
		if(ANS[L]>=0)
		v.push_back(ANS[L]),v.push_back(ANS1[L]);
		else
		v=ask(L),ANS[L]=v[0],ANS1[L]=v[1];
		A[v[0]]=min(A[v[0]],L);
		if(v[0]+v[1]==0)
		{
			ans=L;
			return; 
		}
		if(v[0]==v1[0] || v[1]==v1[1])return;
		int mid=(L+R)/2;
		if(ans==-1)
		go(L,mid-1);
		if(ans==-1)
		go(mid,R);
	}
}
int find_best(int n) {
	for(int i=0;i<n;i++)
	ANS[i]=ANS1[i]=-1;
	if(n==1)
	return 0;
	for(int i=0;i<n;i++)
	A[i]=1e9;
	
	int mid=(n-1)/2;
	go(0,mid-1);
	if(ans==-1)
	go(mid,n-1);
	return ans;
}
# Verdict Execution time Memory Grader output
1 Correct 4 ms 2552 KB Output is correct
2 Correct 4 ms 2628 KB Output is correct
3 Correct 4 ms 2832 KB Output is correct
4 Correct 4 ms 2832 KB Output is correct
5 Correct 5 ms 2832 KB Output is correct
6 Correct 4 ms 2856 KB Output is correct
7 Correct 4 ms 2856 KB Output is correct
8 Correct 4 ms 2876 KB Output is correct
9 Correct 4 ms 2876 KB Output is correct
10 Correct 4 ms 2876 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 4 ms 2876 KB Output is correct
2 Correct 4 ms 2876 KB Output is correct
3 Correct 4 ms 2876 KB Output is correct
4 Correct 4 ms 2876 KB Output is correct
5 Correct 4 ms 2876 KB Output is correct
6 Correct 4 ms 2876 KB Output is correct
7 Correct 4 ms 2876 KB Output is correct
8 Correct 4 ms 2876 KB Output is correct
9 Correct 4 ms 2876 KB Output is correct
10 Correct 4 ms 2876 KB Output is correct
11 Execution timed out 1037 ms 1048576 KB Time limit exceeded
12 Halted 0 ms 0 KB -