Submission #540898

# Submission time Handle Problem Language Result Execution time Memory
540898 2022-03-21T23:17:35 Z skittles1412 Colors (BOI20_colors) C++17
0 / 100
2 ms 592 KB
#include "bits/extc++.h"

using namespace std;

template <typename T>
void dbgh(const T& t) {
	cerr << t << endl;
}

template <typename T, typename... U>
void dbgh(const T& t, const U&... u) {
	cerr << t << " | ";
	dbgh(u...);
}

#ifdef DEBUG
#define dbg(...)                                           \
	cerr << "L" << __LINE__ << " [" << #__VA_ARGS__ << "]" \
		 << ": ";                                          \
	dbgh(__VA_ARGS__)
#else
#define cerr   \
	if (false) \
	cerr
#define dbg(...)
#endif

#define endl "\n"
#define long int64_t
#define sz(x) int((x).size())

int n;
set<int> vis;

bool valid(int x) {
	return 1 <= x && x <= n && !vis.count(x);
}

int dfs(int l, int r) {
	if (l == r) {
		return 1;
	}
	int mid = (l + r) / 2;
	int x = dfs(mid + 1, r);
	if (valid(x - mid)) {
		return x - mid;
	} else {
		return x + mid;
	}
}

int query(int x) {
	vis.insert(x);
	cout << "? " << x << endl;
	cin >> x;
	return x;
}

void solve(int l, int r, int prev) {
	if (l == r) {
		cout << "= " << l << endl;
		return;
	}
	int mid = (l + r) / 2;
	int nxt = prev - mid;
	if (!valid(nxt)) {
		nxt = prev + mid;
	}
	if (query(nxt)) {
		solve(l, mid, nxt);
	} else {
		solve(mid + 1, r, nxt);
	}
}

void solve() {
	cin >> n;
	int start = dfs(1, n);
	query(start);
	solve(1, n, start);
}

int main() {
	ios_base::sync_with_stdio(false);
	cin.exceptions(ios::failbit);
	solve();
}
# Verdict Execution time Memory Grader output
1 Correct 0 ms 208 KB OK (4 queries)
2 Correct 1 ms 208 KB OK (7 queries)
3 Correct 0 ms 208 KB OK (5 queries)
4 Correct 0 ms 208 KB OK (6 queries)
5 Correct 0 ms 208 KB OK (5 queries)
6 Correct 0 ms 208 KB OK (7 queries)
7 Correct 0 ms 208 KB OK (7 queries)
8 Correct 0 ms 208 KB OK (6 queries)
9 Runtime error 2 ms 592 KB Execution killed with signal 6
10 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 0 ms 208 KB OK (4 queries)
2 Correct 1 ms 208 KB OK (7 queries)
3 Correct 0 ms 208 KB OK (5 queries)
4 Correct 0 ms 208 KB OK (6 queries)
5 Correct 0 ms 208 KB OK (5 queries)
6 Correct 0 ms 208 KB OK (7 queries)
7 Correct 0 ms 208 KB OK (7 queries)
8 Correct 0 ms 208 KB OK (6 queries)
9 Runtime error 2 ms 592 KB Execution killed with signal 6
10 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 0 ms 208 KB OK (4 queries)
2 Correct 1 ms 208 KB OK (7 queries)
3 Correct 0 ms 208 KB OK (5 queries)
4 Correct 0 ms 208 KB OK (6 queries)
5 Correct 0 ms 208 KB OK (5 queries)
6 Correct 0 ms 208 KB OK (7 queries)
7 Correct 0 ms 208 KB OK (7 queries)
8 Correct 0 ms 208 KB OK (6 queries)
9 Runtime error 2 ms 592 KB Execution killed with signal 6
10 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 0 ms 208 KB OK (4 queries)
2 Correct 1 ms 208 KB OK (7 queries)
3 Correct 0 ms 208 KB OK (5 queries)
4 Correct 0 ms 208 KB OK (6 queries)
5 Correct 0 ms 208 KB OK (5 queries)
6 Correct 0 ms 208 KB OK (7 queries)
7 Correct 0 ms 208 KB OK (7 queries)
8 Correct 0 ms 208 KB OK (6 queries)
9 Runtime error 2 ms 592 KB Execution killed with signal 6
10 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 0 ms 208 KB OK (4 queries)
2 Correct 1 ms 208 KB OK (7 queries)
3 Correct 0 ms 208 KB OK (5 queries)
4 Correct 0 ms 208 KB OK (6 queries)
5 Correct 0 ms 208 KB OK (5 queries)
6 Correct 0 ms 208 KB OK (7 queries)
7 Correct 0 ms 208 KB OK (7 queries)
8 Correct 0 ms 208 KB OK (6 queries)
9 Runtime error 2 ms 592 KB Execution killed with signal 6
10 Halted 0 ms 0 KB -