# |
Submission time |
Handle |
Problem |
Language |
Result |
Execution time |
Memory |
642338 |
2022-09-19T09:05:15 Z |
tolbi |
Colors (BOI20_colors) |
C++17 |
|
0 ms |
208 KB |
#define author tolbi
#pragma optimize("Bismillahirrahmanirrahim")
#include <bits/stdc++.h>
#define int long long
#define vint(x) vector<int> x
#define deci(x) int x;cin>>x;
#define decstr(x) string x;cin>>x;
#define cinarr(x) for (auto &it : x) cin>>it;
#define coutarr(x) for (auto &it : x) cout<<it<<" ";cout<<endl;
#define sortarr(x) sort(x.begin(),x.end())
#define sortrarr(x) sort(x.rbegin(),x.rend())
#define ayahya() chrono::steady_clock().now().time_since_epoch().count()
#define det(x) cout<<"NO\0YES"+x*3<<endl;
#define ios ios::sync_with_stdio(0);cin.tie(0);cout.tie(0);
#define tol(bi) (1LL<<bi)
const int MOD = 1e9+7;
using namespace std;
int N;
bool submitmode=true;
void prepare();
int ask(int n);
void final();
int32_t main(){
ios;
int t=1;
int tno = 0;
if (!t) cin>>t;
while (t-(tno++)){
prepare();
int n = N;
if (n==1){
cout<<"! "<<1<<endl;
final();
break;
}
else if (n==2){
int noting = ask(1);
int somting = ask(2);
if (somting){
cout<<"! 1"<<endl;
}
else cout<<"! 2"<<endl;
final();
break;
}
int l = 1, r = n;
int crr = (n-(l+(r-l)/2))/2+1;
ask(crr);
int mv = 0;
while (l < r){
int mid = l+(r-l)/2;
if (mv){
mid*=-1;
}
if (mid>0) while (crr+mid>n) mid--;
else while (crr+mid<1) mid++;
if (ask(crr+mid)){
if (mv) r=min(r,-mid);
else r=min(r,mid);
}
else {
if (mv) l=max(-mid+1,l);
else l=max(l,mid+1);
}
crr+=mid;
mv^=1;
}
cout<<"! "<<l<<endl;
final();
}
}
int c;
int last=ayahya();
vector<bool> v;
int qc=0;
int ask(int n){
if (submitmode){
cout<<"? "<<n<<endl;
deci(rv);
return rv;
}
else {
if (n>N || n<1 || v[n]){
cout<<n<<" "<<"LKAJSDLKASJDKLASDJKLASDHKJLSADHKLASJDHASKJDNASKLJDNASLKJDNKALJSDNK"<<endl;
}
v[n]=true;
qc++;
cout<<"? "<<n<<endl;
bool rv = (abs(last-n)>=c);
cout<<rv<<endl;
last=n;
return rv;
}
}
void prepare(){
if (submitmode){
cin>>N;
}
else {
N=ayahya()%10 + 2;
v.resize(N+1,false);
c=ayahya()%N+1;
cout<<N<<endl;
}
}
void final(){
if (submitmode) return;
cout<<"Answer = "<<c<<endl;
cout<<"Query Count = "<<qc<<endl;
}
Compilation message
Colors.cpp:2: warning: ignoring '#pragma optimize ' [-Wunknown-pragmas]
2 | #pragma optimize("Bismillahirrahmanirrahim")
|
Colors.cpp: In function 'int32_t main()':
Colors.cpp:37:8: warning: unused variable 'noting' [-Wunused-variable]
37 | int noting = ask(1);
| ^~~~~~
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Incorrect |
0 ms |
208 KB |
Token parameter [name=cmd] equals to "!", doesn't correspond to pattern "[?=]" |
2 |
Halted |
0 ms |
0 KB |
- |
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Incorrect |
0 ms |
208 KB |
Token parameter [name=cmd] equals to "!", doesn't correspond to pattern "[?=]" |
2 |
Halted |
0 ms |
0 KB |
- |
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Incorrect |
0 ms |
208 KB |
Token parameter [name=cmd] equals to "!", doesn't correspond to pattern "[?=]" |
2 |
Halted |
0 ms |
0 KB |
- |
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Incorrect |
0 ms |
208 KB |
Token parameter [name=cmd] equals to "!", doesn't correspond to pattern "[?=]" |
2 |
Halted |
0 ms |
0 KB |
- |
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Incorrect |
0 ms |
208 KB |
Token parameter [name=cmd] equals to "!", doesn't correspond to pattern "[?=]" |
2 |
Halted |
0 ms |
0 KB |
- |