結果

問題 No.246 質問と回答
ユーザー LayCurse
提出日時 2015-07-17 22:45:08
言語 C++11
(gcc 4.8.5)
結果
AC  
実行時間 29 ms
コード長 2,374 Byte
コンパイル時間 1,016 ms
使用メモリ 12,116 KB
平均クエリ数 30.90
最終ジャッジ日時 2019-09-18 16:06:24

テストケース

テストケース表示
入力 結果 実行時間
使用メモリ
01.in AC 26 ms
12,092 KB
02.in AC 26 ms
12,104 KB
03.in AC 27 ms
12,104 KB
04.in AC 27 ms
12,104 KB
05.in AC 26 ms
12,104 KB
06.in AC 27 ms
12,104 KB
07.in AC 26 ms
12,104 KB
08.in AC 27 ms
12,116 KB
09.in AC 27 ms
12,104 KB
10.in AC 26 ms
12,104 KB
11.in AC 25 ms
12,116 KB
12.in AC 26 ms
12,116 KB
13.in AC 26 ms
12,092 KB
14.in AC 26 ms
12,116 KB
15.in AC 26 ms
12,104 KB
16.in AC 26 ms
12,116 KB
17.in AC 25 ms
12,116 KB
18.in AC 25 ms
12,104 KB
19.in AC 25 ms
12,104 KB
20.in AC 26 ms
12,092 KB
21.in AC 26 ms
12,092 KB
22.in AC 26 ms
12,104 KB
23.in AC 26 ms
12,104 KB
24.in AC 27 ms
12,104 KB
25.in AC 27 ms
12,104 KB
26.in AC 26 ms
12,104 KB
27.in AC 27 ms
12,116 KB
28.in AC 29 ms
12,116 KB
29.in AC 26 ms
12,104 KB
30.in AC 26 ms
12,116 KB
テストケース一括ダウンロード

ソースコード

diff #
#include<bits/stdc++.h>
using namespace std;

#define REP(i,a,b) for(i=a;i<b;i++)
#define rep(i,n) REP(i,0,n)

#define mygc(c) (c)=getchar_unlocked()
#define mypc(c) putchar_unlocked(c)

#define ll long long
#define ull unsigned ll

void reader(int *x){int k,m=0;*x=0;for(;;){mygc(k);if(k=='-'){m=1;break;}if('0'<=k&&k<='9'){*x=k-'0';break;}}for(;;){mygc(k);if(k<'0'||k>'9')break;*x=(*x)*10+k-'0';}if(m)(*x)=-(*x);}
void reader(ll *x){int k,m=0;*x=0;for(;;){mygc(k);if(k=='-'){m=1;break;}if('0'<=k&&k<='9'){*x=k-'0';break;}}for(;;){mygc(k);if(k<'0'||k>'9')break;*x=(*x)*10+k-'0';}if(m)(*x)=-(*x);}
void reader(double *x){scanf("%lf",x);}
int reader(char c[]){int i,s=0;for(;;){mygc(i);if(i!=' '&&i!='\n'&&i!='\r'&&i!='\t'&&i!=EOF) break;}c[s++]=i;for(;;){mygc(i);if(i==' '||i=='\n'||i=='\r'||i=='\t'||i==EOF) break;c[s++]=i;}c[s]='\0';return s;}
template <class T, class S> void reader(T *x, S *y){reader(x);reader(y);}
template <class T, class S, class U> void reader(T *x, S *y, U *z){reader(x);reader(y);reader(z);}
template <class T, class S, class U, class V> void reader(T *x, S *y, U *z, V *w){reader(x);reader(y);reader(z);reader(w);}

void writer(int x, char c){int s=0,m=0;char f[10];if(x<0)m=1,x=-x;while(x)f[s++]=x%10,x/=10;if(!s)f[s++]=0;if(m)mypc('-');while(s--)mypc(f[s]+'0');mypc(c);}
void writer(ll x, char c){int s=0,m=0;char f[20];if(x<0)m=1,x=-x;while(x)f[s++]=x%10,x/=10;if(!s)f[s++]=0;if(m)mypc('-');while(s--)mypc(f[s]+'0');mypc(c);}
void writer(double x, char c){printf("%.15f",x);mypc(c);}
void writer(const char c[]){int i;for(i=0;c[i]!='\0';i++)mypc(c[i]);}
void writer(const char x[], char c){int i;for(i=0;x[i]!='\0';i++)mypc(x[i]);mypc(c);}
template<class T> void writerLn(T x){writer(x,'\n');}
template<class T, class S> void writerLn(T x, S y){writer(x,' ');writer(y,'\n');}
template<class T, class S, class U> void writerLn(T x, S y, U z){writer(x,' ');writer(y,' ');writer(z,'\n');}
template<class T> void writerArr(T x[], int n){int i;if(!n){mypc('\n');return;}rep(i,n-1)writer(x[i],' ');writer(x[n-1],'\n');}

char memarr[17000000]; void *mem = memarr;
#define MD 1000000007

int main(){
  int i, j, k;
  ll A = 1, B = 1000000000, C;

  while(A < B){
    C = (A+B+1) / 2;
    printf("? %lld\n",C);
    fflush(stdout);
    scanf("%d",&k);
    if(k==0) B = C-1;
    else A = C;
  }

  printf("! %lld\n",A);
  fflush(stdout);

  return 0;
}
0