結果
問題 | No.253 ロウソクの長さ |
ユーザー |
![]() |
提出日時 | 2015-07-25 01:41:39 |
言語 | Go (1.23.4) |
結果 |
AC
|
実行時間 | 24 ms / 2,000 ms |
コード長 | 511 bytes |
コンパイル時間 | 10,968 ms |
コンパイル使用メモリ | 228,908 KB |
実行使用メモリ | 25,476 KB |
平均クエリ数 | 37.06 |
最終ジャッジ日時 | 2024-07-16 20:51:07 |
合計ジャッジ時間 | 12,621 ms |
ジャッジサーバーID (参考情報) |
judge2 / judge3 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
other | AC * 36 |
ソースコード
package main import "fmt" func main() { solve() } func ask(x int) int { fmt.Println("?", x) var y int fmt.Scan(&y) return y } func solve() { lb := -1 ub := 1000000000 if ask(99)==-1{ for i:=1; i<100; i++{ if ask(0)==0{ fmt.Println("!", i) return } } } for i := 1; i < 100; i++ { mid := (lb + ub) / 2 ans := ask(mid-i) if ans == -1 { ub = mid } if ans == 1 { lb = mid } if ans == 0 { fmt.Println("!", mid) return } } fmt.Println("!", lb+1) return }