Submission #1274242

#TimeUsernameProblemLanguageResultExecution timeMemory
1274242sakkaMađioničar (COI22_madionicar)C++20
13 / 100
492 ms424 KiB
#include<bits/stdc++.h>
#define ll long long
#define fi first
#define sec second
#define pb push_back
#define pll pair<long long, long long>
using namespace std;
void freop(){
    freopen("input.txt", "r", stdin);
    freopen("output.txt", "w", stdout);
}
const ll INF = 1e18, mod = 1e9+7;
ll n, x;

void solve(){
    cin >> n;

    ll mx = 1;
    for(ll i=1; i<=n; i++){
        ll l = 1, r = min(i*2-1, (n-i)*2+1), cari = -1;
        if(r % 2 == 0) r--;
        while(l<=r){
            ll mid = (l+r)/2; if(mid % 2 == 0) mid++;
            cout << "? " << i-mid/2 << " " << i+mid/2 << endl;
            int ans; cin >> ans;

            if(ans){
                l = mid + 2;
                cari = mid;
            }
            else r = mid-2;
        }
        // cout << "cari  " << i << " " << cari << endl;
        mx = max(mx, cari);
    }

    for(ll i=1; i<=n-1; i++){
        ll l=2, r=min(i*2, (n-i)*2), cari = -1;
        if(r&1) r--;
        while(l<=r){
            ll mid = (l+r)/2; if(mid & 1) mid++;
            cout << "? " << i-mid/2+1 << " " << i+mid/2 << endl;
            int ans; cin >> ans;

            if(ans){
                l = mid+2;
                cari = mid;
            }
            else r = mid-2;
        }
        mx = max(mx, cari);
    }
    cout << "! " << mx << endl;
}

int main(){
    ios_base :: sync_with_stdio(0); cin.tie(0); cout.tie(0);
    // freop();
    solve();
}   

Compilation message (stderr)

Main.cpp: In function 'void freop()':
Main.cpp:9:12: warning: ignoring return value of 'FILE* freopen(const char*, const char*, FILE*)' declared with attribute 'warn_unused_result' [-Wunused-result]
    9 |     freopen("input.txt", "r", stdin);
      |     ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~
Main.cpp:10:12: warning: ignoring return value of 'FILE* freopen(const char*, const char*, FILE*)' declared with attribute 'warn_unused_result' [-Wunused-result]
   10 |     freopen("output.txt", "w", stdout);
      |     ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...