답안 #881108

# 제출 시각 아이디 문제 언어 결과 실행 시간 메모리
881108 2023-11-30T15:24:03 Z epicci23 Mađioničar (COI22_madionicar) C++17
0 / 100
1050 ms 344 KB
#include "bits/stdc++.h"
using namespace std;
#define int long long
#define pb push_back
#define all(x) ((x).begin(),(x).end())
#define sz(x) ((int)(x).size())

int n;
 
bool ask(int l,int r){
  if(l<=0 || r>n) return 0;
  cout << "? " << l << " " << r << endl;
  bool ans; cin >> ans;
  return ans;
}

int search(int l,int r){
  while(l>1 && r<n && ask(l-1,r+1)){l--;r++;}
  return r-l+1;
}

void solve(){
  cin >> n;
  int ans=1;
  
  for(int i=2;i<=n;i++){
    int u = ans/2;
    if(ask(i-u,i+u)) ans=max(ans,search(i-u,i+u));
    u = (ans+1)/2;
    if(ask(i-u,i+u)) ans=max(ans,search(i-u,i+u));
  }
  
  cout << "! " << ans << endl;
}
 
int32_t main(){
  ios::sync_with_stdio(0);cin.tie(0);
  int t=1;//cin >> t;
  while(t--) solve();
}
# 결과 실행 시간 메모리 Grader output
1 Incorrect 75 ms 344 KB L = 25, expected 30
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Incorrect 75 ms 344 KB L = 25, expected 30
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Incorrect 1050 ms 344 KB L = 33, expected 52
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Incorrect 75 ms 344 KB L = 25, expected 30
2 Halted 0 ms 0 KB -