제출 #951627

#제출 시각아이디문제언어결과실행 시간메모리
951627koukirocksColors (BOI20_colors)C++17
100 / 100
2 ms756 KiB
#include <bits/stdc++.h> #define speed ios_base::sync_with_stdio(0); cin.tie(0) #define all(x) (x).begin(),(x).end() #define F first #define S second using namespace std; typedef long long ll; typedef double db; typedef long double ldb; typedef pair<int,int> pii; typedef pair<ll,ll> pll; const ll MAX=3e5+10,P=1e9+7; const ll INF=0x3f3f3f3f,oo=0x3f3f3f3f3f3f3f3f; ll n; ll begin() { vector<ll> cross; ll l=1,r=n-1; while (l<=r) { ll mid=(l+r)/2; cross.push_back(mid); l=mid+1; } reverse(all(cross)); ll now=1; for (int i=0;i<cross.size();i++) { now+=((i&1)?-1:1)*cross[i]; } return now; } int query(ll q) { cout<<"? "<<q<<"\n"<<flush; int x; cin>>x; return x; } int main() { speed; cin>>n; ll now=begin(); ll l=1,r=n-1; ll cnt=(now<=n/2); query(now); ll ans=n; while (l<=r) { ll mid=(l+r)>>1; now+=((cnt&1)?1:-1)*mid; cnt^=1; int x=query(now); if (x==0) l=mid+1; else { ans=mid; r=mid-1; } } cout<<"= "<<ans<<"\n"<<flush; return 0; }

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

Colors.cpp: In function 'll begin()':
Colors.cpp:29:16: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<long long int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   29 |  for (int i=0;i<cross.size();i++) {
      |               ~^~~~~~~~~~~~~
#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...