Submission #1274732

#TimeUsernameProblemLanguageResultExecution timeMemory
1274732nickkumaMađioničar (COI22_madionicar)C++20
63 / 100
511 ms420 KiB
#include <bits/stdc++.h> using namespace std; #define fi first #define se second #define int long long int n; bool ask(int i, int sz){ if(i<1 || i+sz-1>n) return false; int resp; cout << "? " << i << ' ' << i+sz-1 << '\n' << flush; if(!(cin >> resp)) exit(0); return resp==1; } void sol(){ cin >> n; //even sized palindromes int ans=1; int sz=2; for(int i=1;i<=n;i++){ if(ask(i,sz)){ while(ask(i-1,sz+2)){ i--; sz+=2; } ans=max(ans,sz); } } //odd sized palindromes sz=ans; if(sz%2==0) sz++; for(int i=1;i<=n;i++){ if(ask(i,sz)){ while(ask(i-1,sz+2)){ i--; sz+=2; } ans=max(ans,sz); } } cout << "! " << ans << '\n' << flush; return; } signed main(){ int tc=1; // cin >> tc; while(tc--) sol(); 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...