Submission #1328950

#TimeUsernameProblemLanguageResultExecution timeMemory
1328950rana_azkaMađioničar (COI22_madionicar)C++20
0 / 100
482 ms436 KiB
#include <bits/stdc++.h>
using namespace std;
#define int long long

const int INF = 1e18;
const int MOD = 1e9+7;
const int MAXN = 2e5;

int n, m;
int arr[MAXN+5];

bool ask(int l, int r){
    cout << "? " << l << ' ' << r << endl;
    
    bool jury; cin >> jury;
    return jury;
}

void solve(){
    cin >> n;

    int ans = 1;

    // tanya yg awalnya panjang 2
    for(int i = 1; i <= n - 1; i++){
        int cnt = 0;
        int l = i, r = i + 1;
        while(l >= 1 && r <= n && ask(l, r)){
            cnt += 2;
            l--; r++;
        }

        ans = max(cnt, ans);
    }

    // tanya yg awalnya panjang 3
    for(int i = 1; i <= n - 2; i++){
        int cnt = 1;
        int l = i, r = i + 2;
        while(l >= 1 && r <= n && ask(l, r)){
            cnt += 2;
            l--; r++;
        }

        ans = max(cnt, ans);
    }

    cout << "! " << ans << endl;
}

signed main(){
    ios_base::sync_with_stdio(0);
    cin.tie(0); cout.tie(0);

    int tc = 1;
    // cin >> tc;
    while(tc--){
        solve();
    }

    return 0;
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...