Submission #416534

#TimeUsernameProblemLanguageResultExecution timeMemory
416534nicolaalexandraColors (BOI20_colors)C++14
100 / 100
7 ms328 KiB
#include <bits/stdc++.h> using namespace std; long long n,maxi,i; int query (long long x){ int ans; cout<<"? "<<x<<endl; cin>>ans; return ans; } int main (){ cin>>n; /// incerc sa aleg optim punctul de start long long st = 1, dr = n-1, pas = 0, sum = 0, sum2 = n, Left = 1, Right = n; while (st <= dr){ long long mid = (st+dr)>>1; pas++; if (pas % 2){ sum2 -= mid, sum -= mid; Right = min (Right,sum2); } else { sum2 += mid, sum += mid; Left = max (Left,sum+1); } st = mid+1; } long long x = Left, c = 0; query(x); st = 1, dr = n-1, pas = 0; while (st <= dr){ long long mid = (st+dr)>>1; pas++; if (pas % 2) x += mid; else x -= mid; int ans = query (x); if (!ans){ c = mid; st = mid+1; } else dr = mid-1; } cout<<"= "<<c+1<<endl; return 0; }
#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...