#include #include #include #include #include #include using namespace std; #define rep(i,n) for(int i=0;i<(n);i++) const int INF = 1e9; int ask(int Y){ cout << "? " << Y << endl; int res; cin >> res; return res; } int main(){ int l = 0; int r = INF + 1; rep(i, 50){ int mid = (l + r) / 2; if(ask(mid) == -1){//短い r = mid; }else if(ask(mid) == 1){//長い l = mid - 1; }else if(ask(mid) == 0){ printf("! %d\n", max(0, mid - 1)); return 0; } } for (int i = l - 10; i <= r; ++i){ if(ask(i) == 0){ printf("! %d\n", max(0, i - 1)); return 0; } } return 0; }