結果
| 問題 |
No.253 ロウソクの長さ
|
| コンテスト | |
| ユーザー |
173205080
|
| 提出日時 | 2019-07-12 11:09:23 |
| 言語 | C (gcc 13.3.0) |
| 結果 |
AC
|
| 実行時間 | 26 ms / 2,000 ms |
| コード長 | 658 bytes |
| コンパイル時間 | 255 ms |
| コンパイル使用メモリ | 29,184 KB |
| 実行使用メモリ | 25,476 KB |
| 平均クエリ数 | 23.44 |
| 最終ジャッジ日時 | 2024-07-17 02:18:02 |
| 合計ジャッジ時間 | 3,304 ms |
|
ジャッジサーバーID (参考情報) |
judge3 / judge5 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| other | AC * 36 |
ソースコード
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
#define df 0
#define step 21
int i=-1;
int s=1000000000;
int a,b;
int ask(){
printf("? %d\n",s);
if(df)printf("(i=%d)\n",i);
fflush(stdout);
int flag;
scanf("%d",&flag);
return flag;
}
void ask2(){
int c=(a+b)/2-i;
printf("? %d\n",c);
if(df)printf("(a,b=%d,%d)\n",a,b);
fflush(stdout);
int flag;
scanf("%d",&flag);
if(flag>=0) a=c+i;
if(flag<=0) b=c+i;
}
int main(){
int ret=-1;
while(ret==-1){
i++;
s/=step;
s++;
ret=ask();
}
a=s+i; b=s*step+i;
while(b-a){
i++;
ask2();
}
printf("! %d\n",a);
return 0;
}
/// confirm df==0 ///
173205080