Submission #474627

#TimeUsernameProblemLanguageResultExecution timeMemory
474627aris12345678The Big Prize (IOI17_prize)C++14
20 / 100
55 ms328 KiB
#include "prize.h"
#include <bits/stdc++.h>
using namespace std;

const int mxN = 200005;
int ans = -1;

// vector<int> ask(int i) {
//     int a, b;
//     cout << i << "\n";
//     scanf("%d %d", &a, &b);
//     return {a, b};
// }

void search(int st, int en) {
    if(ans > -1) return;
    if(st > en) return;
    int md = (st+en)/2;
    vector<int> p = ask(md);
    if(p[0] == 0 && p[1] == 0) {
        ans = md;
        return;
    } else if(p[1] == 0)
        search(st, md-1);
    else if(p[0] == 0)
        search(md+1, en);
    else {
        search(st, md-1);
        search(md+1, en);
    }
}

int find_best(int n) {
    search(0, n-1);
    return ans;
}

// int main() {
//     int n;
//     scanf("%d", &n);
//     printf("%d\n", find_best(n));
//     return 0;
// }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...