Submission #778633

# Submission time Handle Problem Language Result Execution time Memory
778633 2023-07-10T13:52:24 Z benjaminkleyn The Big Prize (IOI17_prize) C++17
20 / 100
1000 ms 1048576 KB
#include "prize.h"
#include <bits/stdc++.h>
using namespace std;
#define mp make_pair

bool asked[200000] = {false};
int L[200000], R[200000];

bool Ask(int i)
{
    if (asked[i]) return L[i] + R[i] == 0;
    asked[i] = true;
    vector<int> res = ask(i);
    L[i] = res[0], R[i] = res[1];
    return L[i] + R[i] == 0;
}

int Find(int l, int r)
{
    int m = (l + r) / 2;
    if (Ask(m)) return m;
    if (R[l] == R[r] && L[r] == L[l]) return -1;

    int x = Find(l, m);
    if (x >= 0) return x;

    int y = Find(m, r);
    if (y >= 0) return y;

    return -1;
}

int find_best(int n) 
{
    if (Ask(0)) return 0;
    if (Ask(n-1)) return n-1;
    return Find(0, n - 1);
}
# Verdict Execution time Memory Grader output
1 Correct 1 ms 464 KB Output is correct
2 Correct 0 ms 316 KB Output is correct
3 Correct 1 ms 336 KB Output is correct
4 Correct 0 ms 304 KB Output is correct
5 Correct 1 ms 304 KB Output is correct
6 Correct 0 ms 208 KB Output is correct
7 Correct 1 ms 336 KB Output is correct
8 Correct 1 ms 304 KB Output is correct
9 Correct 0 ms 316 KB Output is correct
10 Correct 1 ms 464 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 1 ms 336 KB Output is correct
2 Correct 1 ms 336 KB Output is correct
3 Correct 1 ms 336 KB Output is correct
4 Correct 1 ms 312 KB Output is correct
5 Correct 1 ms 304 KB Output is correct
6 Correct 0 ms 208 KB Output is correct
7 Correct 1 ms 344 KB Output is correct
8 Correct 1 ms 308 KB Output is correct
9 Correct 0 ms 300 KB Output is correct
10 Correct 1 ms 464 KB Output is correct
11 Execution timed out 1123 ms 1048576 KB Time limit exceeded
12 Halted 0 ms 0 KB -