Submission #776425

# Submission time Handle Problem Language Result Execution time Memory
776425 2023-07-07T21:06:07 Z benjaminkleyn The Big Prize (IOI17_prize) C++17
90 / 100
77 ms 336 KB
#include "prize.h"
#include <bits/stdc++.h>
using namespace std;

int find_best(int n) 
{
    int i = 0;
    vector<int> cur = ask(i);
    for (int j = 0; j < n && j < 500; j++)
    {
        vector<int> res = ask(j);
        if (res[0] + res[1] == 0)
            return j;
        if (res[0] + res[1] > cur[0] + cur[1])
            i = j, cur = res;
    }

    while (i < n)
    {
        for (int j = 18; j >= 0; j--)
            if (i + (1 << j) < n)
            {
                vector<int> res = ask(i + (1 << j));
                if (res[0] == cur[0] && res[1] == cur[1])
                    i += (1 << j);
            }
        while (i < n)
        {
            vector<int> res = ask(++i);
            if (res[0] + res[1] == 0) return i;
            if (cur[0] + cur[1] == res[0] + res[1])
            {
                cur = res;
                break;
            }
        }
    }
    return n - 1;
}
# Verdict Execution time Memory Grader output
1 Correct 3 ms 288 KB Output is correct
2 Correct 3 ms 208 KB Output is correct
3 Correct 5 ms 292 KB Output is correct
4 Correct 2 ms 288 KB Output is correct
5 Correct 4 ms 208 KB Output is correct
6 Correct 0 ms 284 KB Output is correct
7 Correct 3 ms 272 KB Output is correct
8 Correct 2 ms 296 KB Output is correct
9 Correct 6 ms 208 KB Output is correct
10 Correct 4 ms 208 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 2 ms 280 KB Output is correct
2 Correct 5 ms 208 KB Output is correct
3 Correct 4 ms 292 KB Output is correct
4 Correct 2 ms 292 KB Output is correct
5 Correct 3 ms 280 KB Output is correct
6 Correct 0 ms 208 KB Output is correct
7 Correct 2 ms 292 KB Output is correct
8 Correct 4 ms 208 KB Output is correct
9 Correct 2 ms 296 KB Output is correct
10 Correct 4 ms 208 KB Output is correct
11 Correct 7 ms 292 KB Output is correct
12 Correct 5 ms 208 KB Output is correct
13 Correct 6 ms 208 KB Output is correct
14 Correct 6 ms 208 KB Output is correct
15 Correct 16 ms 208 KB Output is correct
16 Partially correct 53 ms 208 KB Partially correct - number of queries: 8021
17 Correct 3 ms 288 KB Output is correct
18 Partially correct 31 ms 336 KB Partially correct - number of queries: 9336
19 Correct 2 ms 276 KB Output is correct
20 Correct 9 ms 336 KB Output is correct
21 Correct 36 ms 208 KB Output is correct
22 Correct 4 ms 288 KB Output is correct
23 Correct 3 ms 288 KB Output is correct
24 Correct 5 ms 208 KB Output is correct
25 Partially correct 47 ms 208 KB Partially correct - number of queries: 5485
26 Partially correct 24 ms 292 KB Partially correct - number of queries: 5404
27 Correct 5 ms 208 KB Output is correct
28 Partially correct 55 ms 288 KB Partially correct - number of queries: 8886
29 Partially correct 60 ms 208 KB Partially correct - number of queries: 6851
30 Partially correct 43 ms 208 KB Partially correct - number of queries: 9260
31 Correct 2 ms 328 KB Output is correct
32 Correct 4 ms 208 KB Output is correct
33 Correct 0 ms 208 KB Output is correct
34 Correct 11 ms 280 KB Output is correct
35 Correct 5 ms 208 KB Output is correct
36 Correct 9 ms 328 KB Output is correct
37 Correct 4 ms 208 KB Output is correct
38 Correct 2 ms 300 KB Output is correct
39 Correct 23 ms 288 KB Output is correct
40 Partially correct 43 ms 208 KB Partially correct - number of queries: 7988
41 Partially correct 38 ms 208 KB Partially correct - number of queries: 5774
42 Partially correct 36 ms 208 KB Partially correct - number of queries: 5774
43 Partially correct 40 ms 208 KB Partially correct - number of queries: 5256
44 Correct 26 ms 208 KB Output is correct
45 Correct 29 ms 208 KB Output is correct
46 Correct 2 ms 292 KB Output is correct
47 Correct 38 ms 288 KB Output is correct
48 Partially correct 50 ms 208 KB Partially correct - number of queries: 7031
49 Correct 7 ms 292 KB Output is correct
50 Partially correct 31 ms 288 KB Partially correct - number of queries: 9336
51 Correct 38 ms 208 KB Output is correct
52 Correct 3 ms 296 KB Output is correct
53 Correct 3 ms 336 KB Output is correct
54 Correct 15 ms 288 KB Output is correct
55 Correct 2 ms 336 KB Output is correct
56 Partially correct 72 ms 292 KB Partially correct - number of queries: 9336
57 Partially correct 51 ms 296 KB Partially correct - number of queries: 6938
58 Partially correct 47 ms 296 KB Partially correct - number of queries: 7050
59 Partially correct 49 ms 208 KB Partially correct - number of queries: 5774
60 Partially correct 26 ms 292 KB Partially correct - number of queries: 5393
61 Correct 3 ms 292 KB Output is correct
62 Correct 2 ms 296 KB Output is correct
63 Correct 6 ms 288 KB Output is correct
64 Correct 6 ms 288 KB Output is correct
65 Correct 5 ms 208 KB Output is correct
66 Correct 4 ms 336 KB Output is correct
67 Correct 3 ms 208 KB Output is correct
68 Correct 2 ms 296 KB Output is correct
69 Correct 4 ms 292 KB Output is correct
70 Correct 5 ms 208 KB Output is correct
71 Partially correct 77 ms 208 KB Partially correct - number of queries: 9313
72 Correct 9 ms 208 KB Output is correct
73 Partially correct 70 ms 208 KB Partially correct - number of queries: 9181
74 Partially correct 59 ms 208 KB Partially correct - number of queries: 9235
75 Correct 3 ms 208 KB Output is correct
76 Partially correct 68 ms 208 KB Partially correct - number of queries: 7978
77 Partially correct 55 ms 208 KB Partially correct - number of queries: 9330
78 Correct 11 ms 288 KB Output is correct
79 Correct 39 ms 208 KB Output is correct
80 Partially correct 56 ms 208 KB Partially correct - number of queries: 9317
81 Partially correct 64 ms 208 KB Partially correct - number of queries: 9319
82 Partially correct 61 ms 208 KB Partially correct - number of queries: 9257
83 Correct 4 ms 208 KB Output is correct
84 Partially correct 50 ms 208 KB Partially correct - number of queries: 7696
85 Partially correct 68 ms 208 KB Partially correct - number of queries: 9336
86 Correct 4 ms 208 KB Output is correct
87 Correct 5 ms 208 KB Output is correct
88 Correct 3 ms 208 KB Output is correct
89 Correct 5 ms 236 KB Output is correct
90 Correct 4 ms 208 KB Output is correct
91 Correct 4 ms 208 KB Output is correct
92 Correct 5 ms 288 KB Output is correct
93 Correct 9 ms 208 KB Output is correct
94 Correct 6 ms 208 KB Output is correct
95 Correct 8 ms 208 KB Output is correct
96 Correct 6 ms 208 KB Output is correct
97 Correct 6 ms 208 KB Output is correct