Cod sursa(job #3349856)

Utilizator filipdanieloanFilip-Daniel Oancea filipdanieloan Data 2 aprilie 2026 20:06:21
Problema Cbinteractiv Scor 100
Compilator c-64 Status done
Runda Arhiva educationala Marime 0.49 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(st < dr) {
        int mid = (st + dr) / 2;
        if(query(mid) == -1)
            return 0;
    }
    fclose(stdin);

    printf("! %d\n", st);
    fclose(stdout);

    return 0;
}