제출 #470648

#제출 시각아이디문제언어결과실행 시간메모리
470648Carmel_Ab1The Big Prize (IOI17_prize)C++17
20 / 100
81 ms328 KiB
#include "prize.h"
#include <bits/stdc++.h>
using namespace std;
typedef vector<int>vi;

//#include "grader.cpp"

int find_best(int n) {

    int sz=450;
    vi prv={-1,-1};
    for(int i=0; i<n; i+=sz){
        vi s=(prv[0]==-1?ask(i):prv),e=ask(min(n-1,i+sz));
        if(s[0]==0 && s[1]==0)
            return i;
        if(e[0]==0 && e[1]==0)
            return min(i+sz,n-1);
        if(e[0]==s[0] || s[1]==e[1])
            continue;

        for(int j=i+1; j<min(n-1,i+sz); j++) {
            vi v=ask(j);
            if(v[0]==0 && v[1]==0)
                return j;
        }
        prv=e;
    }
    assert(0);
    return -1;
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...