#include #include #include #include #include #include #include #include #include #include using namespace std; int main(){ //int x; //cin >> x; bool small = false; { int res; cout << "? 1024" << endl; //cerr << x-- << endl; cin >> res; if(res == 0){ cout << "! " << 1024 << endl; return 0; } small = res < 0; } int lb = 0; int ub = small?1024:1000000001; int turn = 1; while((ub-lb) > 1){ int mid = (0LL + lb + ub) / 2; cout << "? " << mid << endl; //cerr << x-- << endl; int res; cin >> res ; if(res == 0){ cout << "! " << mid + turn << endl; return 0; } if(res < 0){ ub = mid; }else{ lb = mid; } ub -= 1; lb -= 1; if(lb < 0) lb = 0; turn++; } cerr << lb << " " << ub << endl; cout << "! " << lb+turn << endl; return 0; }