結果

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

テストケース

テストケース表示
入力 結果 実行時間
使用メモリ
01.in AC 25 ms
12,096 KB
02.in AC 25 ms
12,108 KB
03.in AC 25 ms
12,096 KB
04.in AC 25 ms
12,096 KB
05.in AC 26 ms
12,108 KB
06.in AC 25 ms
12,096 KB
07.in AC 25 ms
12,108 KB
08.in AC 26 ms
12,108 KB
09.in AC 26 ms
12,108 KB
10.in AC 26 ms
12,108 KB
11.in AC 25 ms
12,120 KB
12.in AC 26 ms
12,120 KB
13.in AC 25 ms
12,096 KB
14.in AC 25 ms
12,096 KB
15.in AC 26 ms
12,120 KB
16.in AC 25 ms
12,108 KB
17.in AC 25 ms
12,120 KB
18.in AC 25 ms
12,108 KB
19.in AC 25 ms
12,096 KB
20.in AC 27 ms
12,108 KB
21.in AC 25 ms
12,096 KB
22.in AC 26 ms
12,108 KB
23.in AC 25 ms
12,096 KB
24.in AC 25 ms
12,120 KB
25.in AC 26 ms
12,096 KB
26.in AC 28 ms
12,108 KB
27.in AC 27 ms
12,108 KB
28.in AC 27 ms
12,120 KB
29.in AC 26 ms
12,120 KB
30.in AC 34 ms
12,108 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