#include using namespace std; const int N = 200; int A[N + 1][N + 1]; int main() { srand(time(nullptr)); int st = 0, dr = N - 1; while (st < dr) { int lin = (st + dr) / 2; int l = 0, r = N - 1; int smaller = 0, bigger = 0; while (l <= r) { int m = (l + r) / 2; cout << lin << " " << m << "\n"; cout.flush(); int height; cin >> height; if (height == 0) return 0; if (height > 0) r = m - 1, bigger++; else l = m + 1, smaller++; } if (smaller < bigger) dr = lin; else st = lin; } for (int k = st; k <= dr; ++k) { int lin = k; int l = 0, r = N - 1; int smaller = 0, bigger = 0; while (l <= r) { int m = (l + r) / 2; cout << lin << " " << m << "\n"; cout.flush(); int height; cin >> height; if (height == 0) return 0; if (height > 0) r = m - 1, bigger++; else l = m + 1, smaller++; } } return 0; }