Submission #357669

# Submission time Handle Problem Language Result Execution time Memory
357669 2021-01-24T11:49:42 Z mario05092929 Colors (BOI20_colors) C++11
0 / 100
1 ms 384 KB
#include <bits/stdc++.h>
#define x first
#define y second
#define pb push_back
#define all(v) v.begin(),v.end()
#pragma gcc optimize("O3")
#pragma gcc optimize("Ofast") 
#pragma gcc optimize("unroll-loops")
using namespace std;
const int INF = 1e9;
const int TMX = 1 << 18;
const long long llINF = 1e16;
const long long mod = 1e9+7;
const long long hashmod = 100003;
const int MAXN = 100000;
const int MAXM = 1000000;
typedef long long ll;
typedef long double ld;
typedef pair <int,int> pi;
typedef pair <ll,ll> pl;
typedef vector <int> vec;
typedef vector <pi> vecpi;
typedef long long ll;
int n,x,l,r;

int main() {
	ios_base::sync_with_stdio(false); cin.tie(0);
	cin >> n;
	int val;
	cout << "? 1" << endl;
	cin >> val;
	cout << "? " << (n+1)/2 << endl;
	cin >> val;
	if(val) {
		l = 3, r = (n+1)/2-1;
		int x = 2;
		for(int len = (n+1)/2-2;len >= 1;len--) {
			cout << "? " << x << endl;
			cin >> val;
			if(!val) {
				cout << "= " << len+1 << endl;
				return 0;
			}
			if(x-1 == r) x = l++;
			else x = r--;
		}
		cout << "= 1" << endl;
		return 0;
	}
	else {
		cout << "? " << n << endl;
		cin >> val;
		if(val) {
			cout << "= " << n-((n+1)/2) << endl;
			return 0;
		}
		l = 3, r = n-1;
		int x = 2;
		for(int len = n-2;len >= n-((n+1)/2);len--) {
			cout << "? " << x << endl;
			cin >> val;
			if(!val) {
				cout << "= " << len+1 << endl;
				return 0;
			}
			if(x-1 == r) x = l++;
			else x = r--;
		}
		cout << "= " << n-((n+1)/2) << endl;
		return 0;
	}
}

Compilation message

Colors.cpp:6: warning: ignoring #pragma gcc optimize [-Wunknown-pragmas]
    6 | #pragma gcc optimize("O3")
      | 
Colors.cpp:7: warning: ignoring #pragma gcc optimize [-Wunknown-pragmas]
    7 | #pragma gcc optimize("Ofast")
      | 
Colors.cpp:8: warning: ignoring #pragma gcc optimize [-Wunknown-pragmas]
    8 | #pragma gcc optimize("unroll-loops")
      |
# Verdict Execution time Memory Grader output
1 Correct 0 ms 364 KB OK (6 queries)
2 Correct 0 ms 364 KB OK (7 queries)
3 Correct 0 ms 364 KB OK (5 queries)
4 Correct 1 ms 384 KB OK (13 queries)
5 Correct 1 ms 364 KB OK (14 queries)
6 Correct 1 ms 364 KB OK (27 queries)
7 Correct 1 ms 364 KB OK (18 queries)
8 Correct 1 ms 364 KB OK (8 queries)
9 Correct 1 ms 364 KB OK (10 queries)
10 Correct 0 ms 364 KB OK (6 queries)
11 Correct 0 ms 364 KB OK (5 queries)
12 Correct 1 ms 364 KB OK (6 queries)
13 Correct 1 ms 364 KB OK (12 queries)
14 Correct 1 ms 364 KB OK (17 queries)
15 Correct 1 ms 364 KB OK (12 queries)
16 Correct 1 ms 364 KB OK (8 queries)
17 Incorrect 1 ms 364 KB Wrong guess
18 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 0 ms 364 KB OK (6 queries)
2 Correct 0 ms 364 KB OK (7 queries)
3 Correct 0 ms 364 KB OK (5 queries)
4 Correct 1 ms 384 KB OK (13 queries)
5 Correct 1 ms 364 KB OK (14 queries)
6 Correct 1 ms 364 KB OK (27 queries)
7 Correct 1 ms 364 KB OK (18 queries)
8 Correct 1 ms 364 KB OK (8 queries)
9 Correct 1 ms 364 KB OK (10 queries)
10 Correct 0 ms 364 KB OK (6 queries)
11 Correct 0 ms 364 KB OK (5 queries)
12 Correct 1 ms 364 KB OK (6 queries)
13 Correct 1 ms 364 KB OK (12 queries)
14 Correct 1 ms 364 KB OK (17 queries)
15 Correct 1 ms 364 KB OK (12 queries)
16 Correct 1 ms 364 KB OK (8 queries)
17 Incorrect 1 ms 364 KB Wrong guess
18 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 0 ms 364 KB OK (6 queries)
2 Correct 0 ms 364 KB OK (7 queries)
3 Correct 0 ms 364 KB OK (5 queries)
4 Correct 1 ms 384 KB OK (13 queries)
5 Correct 1 ms 364 KB OK (14 queries)
6 Correct 1 ms 364 KB OK (27 queries)
7 Correct 1 ms 364 KB OK (18 queries)
8 Correct 1 ms 364 KB OK (8 queries)
9 Correct 1 ms 364 KB OK (10 queries)
10 Correct 0 ms 364 KB OK (6 queries)
11 Correct 0 ms 364 KB OK (5 queries)
12 Correct 1 ms 364 KB OK (6 queries)
13 Correct 1 ms 364 KB OK (12 queries)
14 Correct 1 ms 364 KB OK (17 queries)
15 Correct 1 ms 364 KB OK (12 queries)
16 Correct 1 ms 364 KB OK (8 queries)
17 Incorrect 1 ms 364 KB Wrong guess
18 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 0 ms 364 KB OK (6 queries)
2 Correct 0 ms 364 KB OK (7 queries)
3 Correct 0 ms 364 KB OK (5 queries)
4 Correct 1 ms 384 KB OK (13 queries)
5 Correct 1 ms 364 KB OK (14 queries)
6 Correct 1 ms 364 KB OK (27 queries)
7 Correct 1 ms 364 KB OK (18 queries)
8 Correct 1 ms 364 KB OK (8 queries)
9 Correct 1 ms 364 KB OK (10 queries)
10 Correct 0 ms 364 KB OK (6 queries)
11 Correct 0 ms 364 KB OK (5 queries)
12 Correct 1 ms 364 KB OK (6 queries)
13 Correct 1 ms 364 KB OK (12 queries)
14 Correct 1 ms 364 KB OK (17 queries)
15 Correct 1 ms 364 KB OK (12 queries)
16 Correct 1 ms 364 KB OK (8 queries)
17 Incorrect 1 ms 364 KB Wrong guess
18 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 0 ms 364 KB OK (6 queries)
2 Correct 0 ms 364 KB OK (7 queries)
3 Correct 0 ms 364 KB OK (5 queries)
4 Correct 1 ms 384 KB OK (13 queries)
5 Correct 1 ms 364 KB OK (14 queries)
6 Correct 1 ms 364 KB OK (27 queries)
7 Correct 1 ms 364 KB OK (18 queries)
8 Correct 1 ms 364 KB OK (8 queries)
9 Correct 1 ms 364 KB OK (10 queries)
10 Correct 0 ms 364 KB OK (6 queries)
11 Correct 0 ms 364 KB OK (5 queries)
12 Correct 1 ms 364 KB OK (6 queries)
13 Correct 1 ms 364 KB OK (12 queries)
14 Correct 1 ms 364 KB OK (17 queries)
15 Correct 1 ms 364 KB OK (12 queries)
16 Correct 1 ms 364 KB OK (8 queries)
17 Incorrect 1 ms 364 KB Wrong guess
18 Halted 0 ms 0 KB -