제출 #642338

#제출 시각아이디문제언어결과실행 시간메모리
642338tolbiColors (BOI20_colors)C++17
0 / 100
0 ms208 KiB
#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; }

컴파일 시 표준 에러 (stderr) 메시지

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 timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...