有点类似题解的性质,违规紫衫。
评测结果,最多询问次数为 30,是最优询问。
最终代码
#include<bits/stdc++.h>
using namespace std;int a,*z,n,r;int main(){lower_bound(z,(int*)4000000004,0,[&](int& p,int _){n=&p-z;if(a)return n<a;cout<<n<<endl;cin>>r;if(!r)a=n;return r<0;});}
展开后代码
#include <bits/stdc++.h>
using namespace std;
int a, *z, n, r;
int main(){
lower_bound(z, (int*)4000000004, 0, [&](int& p, int _){
n = &p - z;
if(a) return n < a;
cout << n << endl;
cin >> r;
if(!r) a = n;
return r < 0;
});
}