답안 #669734

# 제출 시각 아이디 문제 언어 결과 실행 시간 메모리
669734 2022-12-07T07:31:18 Z mychecksedad Colors (BOI20_colors) C++17
9 / 100
1 ms 208 KB
/* Author : Mychecksdead */
#include<bits/stdc++.h>
#include <ext/pb_ds/tree_policy.hpp>
using namespace __gnu_pbds;
using namespace std;
typedef long long int ll;
typedef long double ld;
#define MOD1 (1000000000+7)
#define MOD (998244353)
#define PI 3.1415926535
#define pb push_back
#define setp() cout << setprecision(15)
#define all(x) x.begin(), x.end()
#define debug(x) cerr << #x << " is " << x << '\n';
const int N = 1e6+100, M = 1e5+10, F = 2147483646, K = 20;


bool ask(int c){
	cout << "? " << c << endl;
	bool r; cin >> r;
	return r;
}
void result(int k){
	cout << "= " << k << endl;
	exit(0);
}

int n;
void solve(){
	cin >> n;
	vector<int> v;
	int l = 1, r = n;


	if(n <= 64){
		while(l <= r){
			v.pb(l);
			if(l != r)
				v.pb(r);
			l++, r--;
		}
		ask(v[0]);
		for(int i = 1; i < v.size(); ++i){
			bool b = ask(v[i]);
			if(b == 0){
				result(abs(v[i] - v[i - 1]) + 1);
			}
		}
	}else{
		while(l <= r){
			v.pb(l);
			if(l != r)
				v.pb(r);
			l+=2, r-=2;
		}
		vector<bool> used(n+1);
		ask(v[0]);
		used[v[0]] = 1;
		for(int i = 1; i < v.size(); ++i){
			bool b = ask(v[i]);
			used[v[i]] = 1;
			if(b == 0){
				int d = abs(v[i] - v[i - 1]) + 1;
				
				if(d == n){
					result(d);
				}

				if(v[i] - d >= 1 && !used[v[i] - d]){
					b = ask(v[i] - d);
				}else{
					b = ask(v[i] + d);
				}
				if(b == 1){
					result(d);
				}else{
					result(d + 1);
				}
			}
		}
		if(n % 4 == 0){
			bool b = ask(v.back() - 2);
			if(b == 0) result(3);
			b = ask(v.back() - 1);
			if(b == 0) result(2);
		}
	}
	result(1);
}




int main(){
    cin.tie(0); ios::sync_with_stdio(0);
    int T = 1, aa;
    // cin >> T;aa=T;
    while(T--){
        // cout << "Case #" << aa-T << ": ";
        solve();
    }
    return 0;
 
}

Compilation message

Colors.cpp: In function 'void solve()':
Colors.cpp:43:20: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   43 |   for(int i = 1; i < v.size(); ++i){
      |                  ~~^~~~~~~~~~
Colors.cpp:59:20: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   59 |   for(int i = 1; i < v.size(); ++i){
      |                  ~~^~~~~~~~~~
Colors.cpp: In function 'int main()':
Colors.cpp:96:16: warning: unused variable 'aa' [-Wunused-variable]
   96 |     int T = 1, aa;
      |                ^~
# 결과 실행 시간 메모리 Grader output
1 Correct 0 ms 208 KB OK (5 queries)
2 Correct 0 ms 208 KB OK (6 queries)
3 Correct 1 ms 208 KB OK (10 queries)
4 Correct 1 ms 208 KB OK (26 queries)
5 Correct 0 ms 208 KB OK (13 queries)
6 Correct 0 ms 208 KB OK (26 queries)
7 Correct 0 ms 208 KB OK (17 queries)
8 Correct 0 ms 208 KB OK (7 queries)
9 Correct 1 ms 208 KB OK (9 queries)
10 Correct 1 ms 208 KB OK (11 queries)
11 Correct 0 ms 208 KB OK (4 queries)
12 Correct 1 ms 208 KB OK (5 queries)
13 Correct 1 ms 208 KB OK (11 queries)
14 Correct 1 ms 208 KB OK (16 queries)
15 Correct 1 ms 208 KB OK (11 queries)
16 Correct 1 ms 208 KB OK (34 queries)
17 Correct 0 ms 208 KB OK (2 queries)
18 Correct 0 ms 208 KB OK (16 queries)
19 Correct 0 ms 208 KB OK (3 queries)
20 Correct 1 ms 208 KB OK (31 queries)
21 Correct 1 ms 208 KB OK (9 queries)
22 Correct 1 ms 208 KB OK (2 queries)
23 Correct 1 ms 208 KB OK (2 queries)
24 Correct 0 ms 208 KB OK (2 queries)
25 Correct 1 ms 208 KB OK (3 queries)
26 Correct 0 ms 208 KB OK (3 queries)
27 Correct 1 ms 208 KB OK (2 queries)
28 Correct 1 ms 208 KB OK (3 queries)
29 Correct 0 ms 208 KB OK (4 queries)
30 Correct 0 ms 208 KB OK (4 queries)
31 Correct 0 ms 208 KB OK (2 queries)
32 Correct 0 ms 208 KB OK (3 queries)
33 Correct 0 ms 208 KB OK (4 queries)
34 Correct 0 ms 208 KB OK (5 queries)
35 Correct 1 ms 208 KB OK (5 queries)
36 Correct 0 ms 208 KB OK (2 queries)
37 Correct 0 ms 208 KB OK (3 queries)
38 Correct 0 ms 208 KB OK (4 queries)
39 Correct 0 ms 208 KB OK (5 queries)
40 Correct 0 ms 208 KB OK (6 queries)
41 Correct 1 ms 208 KB OK (6 queries)
42 Correct 0 ms 208 KB OK (2 queries)
43 Correct 1 ms 208 KB OK (3 queries)
44 Correct 0 ms 208 KB OK (4 queries)
45 Correct 0 ms 208 KB OK (5 queries)
46 Correct 1 ms 208 KB OK (6 queries)
47 Correct 1 ms 208 KB OK (7 queries)
48 Correct 1 ms 208 KB OK (7 queries)
49 Correct 0 ms 208 KB OK (2 queries)
50 Correct 0 ms 208 KB OK (3 queries)
51 Correct 0 ms 208 KB OK (4 queries)
52 Correct 1 ms 208 KB OK (5 queries)
53 Correct 1 ms 208 KB OK (6 queries)
54 Correct 1 ms 208 KB OK (7 queries)
55 Correct 0 ms 208 KB OK (8 queries)
56 Correct 0 ms 208 KB OK (8 queries)
57 Correct 0 ms 208 KB OK (3 queries)
58 Correct 0 ms 208 KB OK (2 queries)
59 Correct 0 ms 208 KB OK (3 queries)
60 Correct 0 ms 208 KB OK (2 queries)
61 Correct 1 ms 208 KB OK (63 queries)
62 Correct 0 ms 208 KB OK (2 queries)
63 Correct 1 ms 208 KB OK (63 queries)
64 Correct 0 ms 208 KB OK (3 queries)
65 Correct 1 ms 208 KB OK (62 queries)
66 Correct 0 ms 208 KB OK (4 queries)
67 Correct 1 ms 208 KB OK (61 queries)
68 Correct 0 ms 208 KB OK (5 queries)
69 Correct 1 ms 208 KB OK (60 queries)
70 Correct 0 ms 208 KB OK (6 queries)
# 결과 실행 시간 메모리 Grader output
1 Correct 0 ms 208 KB OK (5 queries)
2 Correct 0 ms 208 KB OK (6 queries)
3 Correct 1 ms 208 KB OK (10 queries)
4 Correct 1 ms 208 KB OK (26 queries)
5 Correct 0 ms 208 KB OK (13 queries)
6 Correct 0 ms 208 KB OK (26 queries)
7 Correct 0 ms 208 KB OK (17 queries)
8 Correct 0 ms 208 KB OK (7 queries)
9 Correct 1 ms 208 KB OK (9 queries)
10 Correct 1 ms 208 KB OK (11 queries)
11 Correct 0 ms 208 KB OK (4 queries)
12 Correct 1 ms 208 KB OK (5 queries)
13 Correct 1 ms 208 KB OK (11 queries)
14 Correct 1 ms 208 KB OK (16 queries)
15 Correct 1 ms 208 KB OK (11 queries)
16 Correct 1 ms 208 KB OK (34 queries)
17 Correct 0 ms 208 KB OK (2 queries)
18 Correct 0 ms 208 KB OK (16 queries)
19 Correct 0 ms 208 KB OK (3 queries)
20 Correct 1 ms 208 KB OK (31 queries)
21 Correct 1 ms 208 KB OK (9 queries)
22 Correct 1 ms 208 KB OK (2 queries)
23 Correct 1 ms 208 KB OK (2 queries)
24 Correct 0 ms 208 KB OK (2 queries)
25 Correct 1 ms 208 KB OK (3 queries)
26 Correct 0 ms 208 KB OK (3 queries)
27 Correct 1 ms 208 KB OK (2 queries)
28 Correct 1 ms 208 KB OK (3 queries)
29 Correct 0 ms 208 KB OK (4 queries)
30 Correct 0 ms 208 KB OK (4 queries)
31 Correct 0 ms 208 KB OK (2 queries)
32 Correct 0 ms 208 KB OK (3 queries)
33 Correct 0 ms 208 KB OK (4 queries)
34 Correct 0 ms 208 KB OK (5 queries)
35 Correct 1 ms 208 KB OK (5 queries)
36 Correct 0 ms 208 KB OK (2 queries)
37 Correct 0 ms 208 KB OK (3 queries)
38 Correct 0 ms 208 KB OK (4 queries)
39 Correct 0 ms 208 KB OK (5 queries)
40 Correct 0 ms 208 KB OK (6 queries)
41 Correct 1 ms 208 KB OK (6 queries)
42 Correct 0 ms 208 KB OK (2 queries)
43 Correct 1 ms 208 KB OK (3 queries)
44 Correct 0 ms 208 KB OK (4 queries)
45 Correct 0 ms 208 KB OK (5 queries)
46 Correct 1 ms 208 KB OK (6 queries)
47 Correct 1 ms 208 KB OK (7 queries)
48 Correct 1 ms 208 KB OK (7 queries)
49 Correct 0 ms 208 KB OK (2 queries)
50 Correct 0 ms 208 KB OK (3 queries)
51 Correct 0 ms 208 KB OK (4 queries)
52 Correct 1 ms 208 KB OK (5 queries)
53 Correct 1 ms 208 KB OK (6 queries)
54 Correct 1 ms 208 KB OK (7 queries)
55 Correct 0 ms 208 KB OK (8 queries)
56 Correct 0 ms 208 KB OK (8 queries)
57 Correct 0 ms 208 KB OK (3 queries)
58 Correct 0 ms 208 KB OK (2 queries)
59 Correct 0 ms 208 KB OK (3 queries)
60 Correct 0 ms 208 KB OK (2 queries)
61 Correct 1 ms 208 KB OK (63 queries)
62 Correct 0 ms 208 KB OK (2 queries)
63 Correct 1 ms 208 KB OK (63 queries)
64 Correct 0 ms 208 KB OK (3 queries)
65 Correct 1 ms 208 KB OK (62 queries)
66 Correct 0 ms 208 KB OK (4 queries)
67 Correct 1 ms 208 KB OK (61 queries)
68 Correct 0 ms 208 KB OK (5 queries)
69 Correct 1 ms 208 KB OK (60 queries)
70 Correct 0 ms 208 KB OK (6 queries)
71 Correct 0 ms 208 KB OK (62 queries)
72 Correct 0 ms 208 KB OK (2 queries)
73 Incorrect 1 ms 208 KB Wrong guess
74 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Correct 0 ms 208 KB OK (5 queries)
2 Correct 0 ms 208 KB OK (6 queries)
3 Correct 1 ms 208 KB OK (10 queries)
4 Correct 1 ms 208 KB OK (26 queries)
5 Correct 0 ms 208 KB OK (13 queries)
6 Correct 0 ms 208 KB OK (26 queries)
7 Correct 0 ms 208 KB OK (17 queries)
8 Correct 0 ms 208 KB OK (7 queries)
9 Correct 1 ms 208 KB OK (9 queries)
10 Correct 1 ms 208 KB OK (11 queries)
11 Correct 0 ms 208 KB OK (4 queries)
12 Correct 1 ms 208 KB OK (5 queries)
13 Correct 1 ms 208 KB OK (11 queries)
14 Correct 1 ms 208 KB OK (16 queries)
15 Correct 1 ms 208 KB OK (11 queries)
16 Correct 1 ms 208 KB OK (34 queries)
17 Correct 0 ms 208 KB OK (2 queries)
18 Correct 0 ms 208 KB OK (16 queries)
19 Correct 0 ms 208 KB OK (3 queries)
20 Correct 1 ms 208 KB OK (31 queries)
21 Correct 1 ms 208 KB OK (9 queries)
22 Correct 1 ms 208 KB OK (2 queries)
23 Correct 1 ms 208 KB OK (2 queries)
24 Correct 0 ms 208 KB OK (2 queries)
25 Correct 1 ms 208 KB OK (3 queries)
26 Correct 0 ms 208 KB OK (3 queries)
27 Correct 1 ms 208 KB OK (2 queries)
28 Correct 1 ms 208 KB OK (3 queries)
29 Correct 0 ms 208 KB OK (4 queries)
30 Correct 0 ms 208 KB OK (4 queries)
31 Correct 0 ms 208 KB OK (2 queries)
32 Correct 0 ms 208 KB OK (3 queries)
33 Correct 0 ms 208 KB OK (4 queries)
34 Correct 0 ms 208 KB OK (5 queries)
35 Correct 1 ms 208 KB OK (5 queries)
36 Correct 0 ms 208 KB OK (2 queries)
37 Correct 0 ms 208 KB OK (3 queries)
38 Correct 0 ms 208 KB OK (4 queries)
39 Correct 0 ms 208 KB OK (5 queries)
40 Correct 0 ms 208 KB OK (6 queries)
41 Correct 1 ms 208 KB OK (6 queries)
42 Correct 0 ms 208 KB OK (2 queries)
43 Correct 1 ms 208 KB OK (3 queries)
44 Correct 0 ms 208 KB OK (4 queries)
45 Correct 0 ms 208 KB OK (5 queries)
46 Correct 1 ms 208 KB OK (6 queries)
47 Correct 1 ms 208 KB OK (7 queries)
48 Correct 1 ms 208 KB OK (7 queries)
49 Correct 0 ms 208 KB OK (2 queries)
50 Correct 0 ms 208 KB OK (3 queries)
51 Correct 0 ms 208 KB OK (4 queries)
52 Correct 1 ms 208 KB OK (5 queries)
53 Correct 1 ms 208 KB OK (6 queries)
54 Correct 1 ms 208 KB OK (7 queries)
55 Correct 0 ms 208 KB OK (8 queries)
56 Correct 0 ms 208 KB OK (8 queries)
57 Correct 0 ms 208 KB OK (3 queries)
58 Correct 0 ms 208 KB OK (2 queries)
59 Correct 0 ms 208 KB OK (3 queries)
60 Correct 0 ms 208 KB OK (2 queries)
61 Correct 1 ms 208 KB OK (63 queries)
62 Correct 0 ms 208 KB OK (2 queries)
63 Correct 1 ms 208 KB OK (63 queries)
64 Correct 0 ms 208 KB OK (3 queries)
65 Correct 1 ms 208 KB OK (62 queries)
66 Correct 0 ms 208 KB OK (4 queries)
67 Correct 1 ms 208 KB OK (61 queries)
68 Correct 0 ms 208 KB OK (5 queries)
69 Correct 1 ms 208 KB OK (60 queries)
70 Correct 0 ms 208 KB OK (6 queries)
71 Correct 0 ms 208 KB OK (62 queries)
72 Correct 0 ms 208 KB OK (2 queries)
73 Incorrect 1 ms 208 KB Wrong guess
74 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Correct 0 ms 208 KB OK (5 queries)
2 Correct 0 ms 208 KB OK (6 queries)
3 Correct 1 ms 208 KB OK (10 queries)
4 Correct 1 ms 208 KB OK (26 queries)
5 Correct 0 ms 208 KB OK (13 queries)
6 Correct 0 ms 208 KB OK (26 queries)
7 Correct 0 ms 208 KB OK (17 queries)
8 Correct 0 ms 208 KB OK (7 queries)
9 Correct 1 ms 208 KB OK (9 queries)
10 Correct 1 ms 208 KB OK (11 queries)
11 Correct 0 ms 208 KB OK (4 queries)
12 Correct 1 ms 208 KB OK (5 queries)
13 Correct 1 ms 208 KB OK (11 queries)
14 Correct 1 ms 208 KB OK (16 queries)
15 Correct 1 ms 208 KB OK (11 queries)
16 Correct 1 ms 208 KB OK (34 queries)
17 Correct 0 ms 208 KB OK (2 queries)
18 Correct 0 ms 208 KB OK (16 queries)
19 Correct 0 ms 208 KB OK (3 queries)
20 Correct 1 ms 208 KB OK (31 queries)
21 Correct 1 ms 208 KB OK (9 queries)
22 Correct 1 ms 208 KB OK (2 queries)
23 Correct 1 ms 208 KB OK (2 queries)
24 Correct 0 ms 208 KB OK (2 queries)
25 Correct 1 ms 208 KB OK (3 queries)
26 Correct 0 ms 208 KB OK (3 queries)
27 Correct 1 ms 208 KB OK (2 queries)
28 Correct 1 ms 208 KB OK (3 queries)
29 Correct 0 ms 208 KB OK (4 queries)
30 Correct 0 ms 208 KB OK (4 queries)
31 Correct 0 ms 208 KB OK (2 queries)
32 Correct 0 ms 208 KB OK (3 queries)
33 Correct 0 ms 208 KB OK (4 queries)
34 Correct 0 ms 208 KB OK (5 queries)
35 Correct 1 ms 208 KB OK (5 queries)
36 Correct 0 ms 208 KB OK (2 queries)
37 Correct 0 ms 208 KB OK (3 queries)
38 Correct 0 ms 208 KB OK (4 queries)
39 Correct 0 ms 208 KB OK (5 queries)
40 Correct 0 ms 208 KB OK (6 queries)
41 Correct 1 ms 208 KB OK (6 queries)
42 Correct 0 ms 208 KB OK (2 queries)
43 Correct 1 ms 208 KB OK (3 queries)
44 Correct 0 ms 208 KB OK (4 queries)
45 Correct 0 ms 208 KB OK (5 queries)
46 Correct 1 ms 208 KB OK (6 queries)
47 Correct 1 ms 208 KB OK (7 queries)
48 Correct 1 ms 208 KB OK (7 queries)
49 Correct 0 ms 208 KB OK (2 queries)
50 Correct 0 ms 208 KB OK (3 queries)
51 Correct 0 ms 208 KB OK (4 queries)
52 Correct 1 ms 208 KB OK (5 queries)
53 Correct 1 ms 208 KB OK (6 queries)
54 Correct 1 ms 208 KB OK (7 queries)
55 Correct 0 ms 208 KB OK (8 queries)
56 Correct 0 ms 208 KB OK (8 queries)
57 Correct 0 ms 208 KB OK (3 queries)
58 Correct 0 ms 208 KB OK (2 queries)
59 Correct 0 ms 208 KB OK (3 queries)
60 Correct 0 ms 208 KB OK (2 queries)
61 Correct 1 ms 208 KB OK (63 queries)
62 Correct 0 ms 208 KB OK (2 queries)
63 Correct 1 ms 208 KB OK (63 queries)
64 Correct 0 ms 208 KB OK (3 queries)
65 Correct 1 ms 208 KB OK (62 queries)
66 Correct 0 ms 208 KB OK (4 queries)
67 Correct 1 ms 208 KB OK (61 queries)
68 Correct 0 ms 208 KB OK (5 queries)
69 Correct 1 ms 208 KB OK (60 queries)
70 Correct 0 ms 208 KB OK (6 queries)
71 Correct 0 ms 208 KB OK (62 queries)
72 Correct 0 ms 208 KB OK (2 queries)
73 Incorrect 1 ms 208 KB Wrong guess
74 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Correct 0 ms 208 KB OK (5 queries)
2 Correct 0 ms 208 KB OK (6 queries)
3 Correct 1 ms 208 KB OK (10 queries)
4 Correct 1 ms 208 KB OK (26 queries)
5 Correct 0 ms 208 KB OK (13 queries)
6 Correct 0 ms 208 KB OK (26 queries)
7 Correct 0 ms 208 KB OK (17 queries)
8 Correct 0 ms 208 KB OK (7 queries)
9 Correct 1 ms 208 KB OK (9 queries)
10 Correct 1 ms 208 KB OK (11 queries)
11 Correct 0 ms 208 KB OK (4 queries)
12 Correct 1 ms 208 KB OK (5 queries)
13 Correct 1 ms 208 KB OK (11 queries)
14 Correct 1 ms 208 KB OK (16 queries)
15 Correct 1 ms 208 KB OK (11 queries)
16 Correct 1 ms 208 KB OK (34 queries)
17 Correct 0 ms 208 KB OK (2 queries)
18 Correct 0 ms 208 KB OK (16 queries)
19 Correct 0 ms 208 KB OK (3 queries)
20 Correct 1 ms 208 KB OK (31 queries)
21 Correct 1 ms 208 KB OK (9 queries)
22 Correct 1 ms 208 KB OK (2 queries)
23 Correct 1 ms 208 KB OK (2 queries)
24 Correct 0 ms 208 KB OK (2 queries)
25 Correct 1 ms 208 KB OK (3 queries)
26 Correct 0 ms 208 KB OK (3 queries)
27 Correct 1 ms 208 KB OK (2 queries)
28 Correct 1 ms 208 KB OK (3 queries)
29 Correct 0 ms 208 KB OK (4 queries)
30 Correct 0 ms 208 KB OK (4 queries)
31 Correct 0 ms 208 KB OK (2 queries)
32 Correct 0 ms 208 KB OK (3 queries)
33 Correct 0 ms 208 KB OK (4 queries)
34 Correct 0 ms 208 KB OK (5 queries)
35 Correct 1 ms 208 KB OK (5 queries)
36 Correct 0 ms 208 KB OK (2 queries)
37 Correct 0 ms 208 KB OK (3 queries)
38 Correct 0 ms 208 KB OK (4 queries)
39 Correct 0 ms 208 KB OK (5 queries)
40 Correct 0 ms 208 KB OK (6 queries)
41 Correct 1 ms 208 KB OK (6 queries)
42 Correct 0 ms 208 KB OK (2 queries)
43 Correct 1 ms 208 KB OK (3 queries)
44 Correct 0 ms 208 KB OK (4 queries)
45 Correct 0 ms 208 KB OK (5 queries)
46 Correct 1 ms 208 KB OK (6 queries)
47 Correct 1 ms 208 KB OK (7 queries)
48 Correct 1 ms 208 KB OK (7 queries)
49 Correct 0 ms 208 KB OK (2 queries)
50 Correct 0 ms 208 KB OK (3 queries)
51 Correct 0 ms 208 KB OK (4 queries)
52 Correct 1 ms 208 KB OK (5 queries)
53 Correct 1 ms 208 KB OK (6 queries)
54 Correct 1 ms 208 KB OK (7 queries)
55 Correct 0 ms 208 KB OK (8 queries)
56 Correct 0 ms 208 KB OK (8 queries)
57 Correct 0 ms 208 KB OK (3 queries)
58 Correct 0 ms 208 KB OK (2 queries)
59 Correct 0 ms 208 KB OK (3 queries)
60 Correct 0 ms 208 KB OK (2 queries)
61 Correct 1 ms 208 KB OK (63 queries)
62 Correct 0 ms 208 KB OK (2 queries)
63 Correct 1 ms 208 KB OK (63 queries)
64 Correct 0 ms 208 KB OK (3 queries)
65 Correct 1 ms 208 KB OK (62 queries)
66 Correct 0 ms 208 KB OK (4 queries)
67 Correct 1 ms 208 KB OK (61 queries)
68 Correct 0 ms 208 KB OK (5 queries)
69 Correct 1 ms 208 KB OK (60 queries)
70 Correct 0 ms 208 KB OK (6 queries)
71 Correct 0 ms 208 KB OK (62 queries)
72 Correct 0 ms 208 KB OK (2 queries)
73 Incorrect 1 ms 208 KB Wrong guess
74 Halted 0 ms 0 KB -