Submission #540900

#TimeUsernameProblemLanguageResultExecution timeMemory
540900skittles1412Colors (BOI20_colors)C++17
0 / 100
2 ms592 KiB
#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()) long n; set<long> vis; bool valid(long x) { return 1 <= x && x <= n && !vis.count(x); } long dfs(long l, long r) { if (l == r) { return 1; } long mid = (l + r) / 2; long x = dfs(mid + 1, r); if (valid(x - mid)) { return x - mid; } else { return x + mid; } } long query(long x) { vis.insert(x); cout << "? " << x << endl; cin >> x; return x; } void solve(long l, long r, long prev) { if (l == r) { cout << "= " << l << endl; return; } long mid = (l + r) / 2; long 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; long 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 timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...