Submission #932880

#TimeUsernameProblemLanguageResultExecution timeMemory
932880De3b0oMađioničar (COI22_madionicar)C++14
13 / 100
1240 ms412 KiB
#include<bits/stdc++.h> #define ll long long #define F first #define S second #define in insert #define er erase #define pb push_back #define ppb pop_back() #define ph push #define pp pop() #define d3 ios::sync_with_stdio(0);cin.tie(0);cout.tie(0); #define cans cout << ans << "\n"; #define yes cout << "YES" << "\n"; #define no cout << "NO" << "\n"; #define pll pair<ll,ll> #define lin cout << "\n"; #define sqr 340 #define mod 1000000007 //#define mid (l+r)/2 using namespace std; ll fp(ll x , ll y) { if(y==0) return 1; ll z = fp(x,y/2); if(y&1) return z*z*x; else return z*z; } /*int sqrot(ll x) { int l = 0 , r = INT_MAX; while(l<=r) { if(mid*mid>=x) r=mid-1; else l=mid+1; } return r+1; }*/ ll cel(ll x , ll y) { return x/y + bool(x/y); } string tb(ll x) { string s = ""; while(x>0) { if(x&1) s+='1'; else s+='0'; x/=2; } while(s.size()<60) s+='0'; return s; } ll fb(string s) { ll x = 0; ll c = 1; for(int8_t i = 0 ; 60>i ; i++) { if(s[i]=='1') x+=c; c*=2; } return x; } int main() { ll n; cin >> n; ll l = 0 , r = n; ll ans = 1; while(l<=r) { ll mid = (l+r)/2; ll x = 2*mid+1; if(x<=0||x<=ans) { l=mid+1; continue; } if(x>n) { r=mid-1; continue; } bool ex = 0; //cout << x << " " << mid << "\n"; for(int i = 1 ; n-x+1>=i ; i++) { cout << "? " << i << " " << i+x-1 << "\n"; bool e; cin >> e; if(e) { ex=1; break; } } if(ex) { l=mid+1; ans=max(ans,x); } else r=mid-1; } l = 0 , r = n; while(l<=r) { ll mid = (l+r)/2; ll x = 2*mid; if(x<=0||x<=ans) { l=mid+1; continue; } if(x>n) { r=mid-1; continue; } bool ex = 0; for(int i = 1 ; n-x+1>=i ; i++) { cout << "? " << i << " " << i+x-1 << "\n"; bool e; cin >> e; if(e) { ex=1; break; } } if(ex) { l=mid+1; ans=max(ans,x); } else r=mid-1; } cout << "! " << ans << "\n"; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...