Submission #42244

# Submission time Handle Problem Language Result Execution time Memory
42244 2018-02-23T22:18:09 Z yusufake The Big Prize (IOI17_prize) C++
97.63 / 100
19 ms 2020 KB
#include<bits/stdc++.h> 
using namespace std; 
#include "prize.h"
 
#define _ int v, int tl, int tr, int l, int r
#define tm (tl + tr >> 1)
#define sol v+v,tl,tm,l,r 
#define sag v+v+1,tm+1,tr,l,r 
 
#define mp make_pair 
#define pb push_back 
#define st first 
#define nd second 
 
typedef long long ll; 
typedef pair < int , int > pp; 
const int mod = 1e9 + 7; 
const int N   = 2e5 + 5; 
 
int ans=-1;
 
void f(int l, int r, vector < int > x, vector < int > y){
	int m = l+r >> 1;
	if(ans != -1) return;
	if(x[0] + x[1] == 0) { ans = l; return; }
	if(y[0] + y[1] == 0) { ans = r; return; }
	if(x[0] + x[1] == y[0] + y[1] && x[1] == y[1]) return; 
	if(l >= r-1) return;
	vector < int > a = ask(m);
	f(l,m,x,a); f(m,r,a,y);
}
 
int find_best(int n){
	vector < int > x = ask(0);
    vector < int > y = ask(n-1);
    f(0,n-1,x,y);
	return ans;
}

Compilation message

prize.cpp: In function 'void f(int, int, std::vector<int>, std::vector<int>)':
prize.cpp:23:11: warning: suggest parentheses around '+' inside '>>' [-Wparentheses]
  int m = l+r >> 1;
           ^
# Verdict Execution time Memory Grader output
1 Correct 0 ms 2020 KB Output is correct
2 Correct 1 ms 2020 KB Output is correct
3 Correct 1 ms 2020 KB Output is correct
4 Correct 0 ms 2020 KB Output is correct
5 Correct 1 ms 2020 KB Output is correct
6 Correct 0 ms 2020 KB Output is correct
7 Correct 0 ms 2020 KB Output is correct
8 Correct 0 ms 2020 KB Output is correct
9 Correct 0 ms 2020 KB Output is correct
10 Correct 0 ms 2020 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 1 ms 2020 KB Output is correct
2 Correct 1 ms 2020 KB Output is correct
3 Correct 0 ms 2020 KB Output is correct
4 Correct 0 ms 2020 KB Output is correct
5 Correct 1 ms 2020 KB Output is correct
6 Correct 0 ms 2020 KB Output is correct
7 Correct 0 ms 2020 KB Output is correct
8 Correct 0 ms 2020 KB Output is correct
9 Correct 0 ms 2020 KB Output is correct
10 Correct 1 ms 2020 KB Output is correct
11 Correct 2 ms 2020 KB Output is correct
12 Correct 1 ms 2020 KB Output is correct
13 Correct 0 ms 2020 KB Output is correct
14 Correct 4 ms 2020 KB Output is correct
15 Correct 8 ms 2020 KB Output is correct
16 Correct 5 ms 2020 KB Output is correct
17 Correct 1 ms 2020 KB Output is correct
18 Partially correct 11 ms 2020 KB Partially correct - number of queries: 5068
19 Correct 0 ms 2020 KB Output is correct
20 Correct 1 ms 2020 KB Output is correct
21 Correct 13 ms 2020 KB Output is correct
22 Correct 3 ms 2020 KB Output is correct
23 Correct 0 ms 2020 KB Output is correct
24 Correct 1 ms 2020 KB Output is correct
25 Correct 3 ms 2020 KB Output is correct
26 Correct 8 ms 2020 KB Output is correct
27 Correct 2 ms 2020 KB Output is correct
28 Correct 11 ms 2020 KB Output is correct
29 Correct 5 ms 2020 KB Output is correct
30 Partially correct 18 ms 2020 KB Partially correct - number of queries: 5022
31 Correct 0 ms 2020 KB Output is correct
32 Correct 3 ms 2020 KB Output is correct
33 Correct 0 ms 2020 KB Output is correct
34 Correct 3 ms 2020 KB Output is correct
35 Correct 2 ms 2020 KB Output is correct
36 Correct 4 ms 2020 KB Output is correct
37 Correct 1 ms 2020 KB Output is correct
38 Correct 0 ms 2020 KB Output is correct
39 Correct 4 ms 2020 KB Output is correct
40 Correct 9 ms 2020 KB Output is correct
41 Correct 9 ms 2020 KB Output is correct
42 Correct 4 ms 2020 KB Output is correct
43 Correct 9 ms 2020 KB Output is correct
44 Correct 9 ms 2020 KB Output is correct
45 Correct 1 ms 2020 KB Output is correct
46 Correct 0 ms 2020 KB Output is correct
47 Correct 9 ms 2020 KB Output is correct
48 Correct 18 ms 2020 KB Output is correct
49 Correct 11 ms 2020 KB Output is correct
50 Partially correct 4 ms 2020 KB Partially correct - number of queries: 5070
51 Correct 5 ms 2020 KB Output is correct
52 Correct 1 ms 2020 KB Output is correct
53 Correct 3 ms 2020 KB Output is correct
54 Correct 1 ms 2020 KB Output is correct
55 Correct 0 ms 2020 KB Output is correct
56 Partially correct 5 ms 2020 KB Partially correct - number of queries: 5069
57 Correct 9 ms 2020 KB Output is correct
58 Correct 7 ms 2020 KB Output is correct
59 Correct 5 ms 2020 KB Output is correct
60 Correct 6 ms 2020 KB Output is correct
61 Correct 3 ms 2020 KB Output is correct
62 Correct 0 ms 2020 KB Output is correct
63 Correct 1 ms 2020 KB Output is correct
64 Correct 1 ms 2020 KB Output is correct
65 Correct 0 ms 2020 KB Output is correct
66 Correct 1 ms 2020 KB Output is correct
67 Correct 1 ms 2020 KB Output is correct
68 Correct 1 ms 2020 KB Output is correct
69 Correct 0 ms 2020 KB Output is correct
70 Correct 1 ms 2020 KB Output is correct
71 Correct 5 ms 2020 KB Output is correct
72 Correct 2 ms 2020 KB Output is correct
73 Correct 7 ms 2020 KB Output is correct
74 Correct 9 ms 2020 KB Output is correct
75 Correct 1 ms 2020 KB Output is correct
76 Correct 3 ms 2020 KB Output is correct
77 Partially correct 4 ms 2020 KB Partially correct - number of queries: 5216
78 Correct 0 ms 2020 KB Output is correct
79 Correct 6 ms 2020 KB Output is correct
80 Partially correct 19 ms 2020 KB Partially correct - number of queries: 5237
81 Partially correct 16 ms 2020 KB Partially correct - number of queries: 5218
82 Partially correct 7 ms 2020 KB Partially correct - number of queries: 5216
83 Correct 1 ms 2020 KB Output is correct
84 Correct 12 ms 2020 KB Output is correct
85 Partially correct 5 ms 2020 KB Partially correct - number of queries: 5233
86 Correct 4 ms 2020 KB Output is correct
87 Correct 5 ms 2020 KB Output is correct
88 Correct 6 ms 2020 KB Output is correct
89 Correct 1 ms 2020 KB Output is correct
90 Correct 3 ms 2020 KB Output is correct
91 Correct 1 ms 2020 KB Output is correct
92 Correct 1 ms 2020 KB Output is correct
93 Correct 1 ms 2020 KB Output is correct
94 Correct 3 ms 2020 KB Output is correct
95 Correct 2 ms 2020 KB Output is correct
96 Correct 8 ms 2020 KB Output is correct
97 Correct 1 ms 2020 KB Output is correct