Submission #1085994

#TimeUsernameProblemLanguageResultExecution timeMemory
1085994not_amirColors (BOI20_colors)C++14
0 / 100
1 ms344 KiB
#include <bits/stdc++.h> using namespace std; #define T typedef long long ll; ll C, n; int ask(ll q){ static ll bef = 0; cout << "? " << q << endl; int ans; #ifdef T if(q < 1 || q > n){ cout << "INVALID"; exit(1); } cout << (abs(q - bef) < C?ans=0:ans=1) << endl; bef = q; #else cin >> ans; #endif return ans; } ll solve(ll n, ll c, ll add, bool dir){ if(n == 1) return 1 + add; ll diff = n/2 + add; ll q = (dir)?c+diff:c-diff; if(ask(q)) return solve(n/2, q, add, !dir); else return solve((n+1)/2, q, add + n/2, !dir); } ll start(ll N){ if(N == 1) return 1; return (N + 1)/2 + 1 - start((N + 1)/2); } int main(){ // ios_base::sync_with_stdio(false); // cin.tie(NULL); #ifdef T srand(time(NULL)); n = rand(); C = rand()%n + 1; cout << n << ' ' << C << endl; #else cin >> n; #endif int c = start(n); ask(c); ll ans = solve(n, c, 0, c<(n+1)/2?1:0); cout << "= " << ans; }
#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...