結果
| 問題 |
No.253 ロウソクの長さ
|
| コンテスト | |
| ユーザー |
convexineq
|
| 提出日時 | 2020-12-11 07:11:17 |
| 言語 | PyPy3 (7.3.15) |
| 結果 |
AC
|
| 実行時間 | 68 ms / 2,000 ms |
| コード長 | 592 bytes |
| コンパイル時間 | 363 ms |
| コンパイル使用メモリ | 82,136 KB |
| 実行使用メモリ | 70,644 KB |
| 平均クエリ数 | 30.81 |
| 最終ジャッジ日時 | 2024-07-17 02:56:10 |
| 合計ジャッジ時間 | 4,820 ms |
|
ジャッジサーバーID (参考情報) |
judge5 / judge1 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| other | AC * 36 |
ソースコード
def ask(k,t):
print(f"? {k}")
sys.stdout.flush()
if DEBUG:
if X-t < k: return -1
elif k==X-t: return 0
return 1
else:
return int(input())
def ans(k):
print(f"! {k}")
exit()
import sys
DEBUG = 0
if DEBUG: X = 1048576
a = ask(100,0)
if a == 0:
ans(100)
if a == -1:
for t in range(1,100):
a = ask(9,t)
if a==0:
ans(t+9)
ng = 100
ok = 10**9+1
for t in range(1,100):
mid = (ok+ng)//2
a = ask(mid-t,t)
if a == -1:
ok = mid
elif a == 1:
ng = mid
else:
ans(mid)
convexineq