제출 #90000

#제출 시각아이디문제언어결과실행 시간메모리
90000nikolapesic2802The Big Prize (IOI17_prize)C++14
20 / 100
45 ms1496 KiB
#include <bits/stdc++.h>
#include "prize.h"
using namespace std;

int doit(int l,int r)
{
    int m=(l+r)>>1;
    vector<int> tr=ask(m);
    if(tr[0]+tr[1]==0)
        return m;
    if(l==r)
        return -1;
    if(tr[0]>tr[1])
    {
        int tr=doit(l,m-1);
        if(tr!=-1)
            return tr;
        return doit(m+1,r);
    }
    else
    {
        int tr=doit(m+1,r);
        if(tr!=-1)
            return tr;
        return doit(l,m-1);
    }
}
int find_best(int n) {
    return doit(0,n-1);
    int l=0,r=n-1;
    while(true)
    {
        int m=(l+r)>>1;
        vector<int> tr=ask(m);
        if(tr[0]==1)
        {
            r=m-1;
        }
        else
        {
            if(tr[1]==1)
            {
                l=m+1;
            }
            else
            {
                return m;
            }
        }
    }
	/*for(int i = 0; i < n; i++) {
		std::vector<int> res = ask(i);
		if(res[0] + res[1] == 0)
			return i;
	}
	return 0;*/
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...