Cod sursa(job #3349855)

Utilizator filipdanieloanFilip-Daniel Oancea filipdanieloan Data 2 aprilie 2026 20:04:53
Problema Cbinteractiv Scor 100
Compilator c-64 Status done
Runda Arhiva educationala Marime 0.5 kb
#include <stdio.h>

int n, st, dr;

int query(int x) {
    printf("? %d\n", x);
    fflush(stdout);
    int ans;
    scanf("%d", &ans);
    if(ans == -1)
        return -1;
    if(ans == 0)
        st = x + 1;
    else
        dr = x;
    return ans;
}

int main(void) {
    scanf("%d", &n);
    st = 1, dr = n;
    while(1) {
        if(st == dr) {
            printf("! %d\n", st);
            return 0;
        }
        int mid = (st + dr) / 2;
        if(query(mid) == -1)
            return 0;
    }
}