제출 #1287209

#제출 시각아이디문제언어결과실행 시간메모리
1287209ayhamzaiddMađioničar (COI22_madionicar)C++20
0 / 100
482 ms1212 KiB
#include <bits/stdc++.h> using namespace std; #define ll long long #define pii pair<ll,ll> #define fi first #define se second const ll N=2e6+5,MOD=1e9+7,INF=1e18; ll a[N]; bool q(int l,int r){ cout<<"? "<<l<<' '<<r<<endl; int ret;cin>>ret; return ret; } int main() { ios::sync_with_stdio(false); cin.tie(0); int n;cin>>n; int len=1,ans=0; for(int i=1; i<=n; i++)a[i]=i; for(int i=2; i<=n; i++){ if(q(i-1,i)){ a[i]=a[i-1]; len++; } else len=1; ans=max(len,ans); } for(int i=2; i<=n; i++){ if(a[i]==a[i-1])continue; int l=i-1,r=i; while(a[r+1]==a[r] && r+1<=n)r++; if(r+1<=n)r++; while(1){ while(l-1>=1 && r+1<=n && a[l]==a[l-1] && a[r]==a[r+1]){ l--; r++; } if(q(l,r)){ ans=max(ans,r-l+1); l--; r++; if(l<1 || r>n)break; } else break; } } cout<<"! "<<ans<<endl; } //aabbcc
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...