Cod sursa(job #2753053)

Utilizator andrei_C1Andrei Chertes andrei_C1 Data 20 mai 2021 20:39:01
Problema Cbinteractiv Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.6 kb
#include <bits/stdc++.h>
#pragma GCC optimize("O2")
using namespace std;
inline __attribute__((always_inline)) int ask(int x) {
    printf("? %d\n", x);
    fflush(stdout);
    int ans;
    scanf("%d", &ans);
    return ans;

}
int main() {
    int N;
    scanf("%d", &N);
    int st = 1, dr = N, mid;
    while(st <= dr) {
        mid = (st + dr) >> 1;
        int ans = ask(mid);
        if(ans == 0) {
            st = mid + 1;
        } else if(ans == 1) {
            dr = mid - 1;
        } else {
            return 0;
        }
    }
    printf("! %d\n", st);
    return 0;

}