結果
| 問題 |
No.648 お や す み
|
| コンテスト | |
| ユーザー |
tsuchinaga
|
| 提出日時 | 2019-03-28 13:06:42 |
| 言語 | Go (1.23.4) |
| 結果 |
WA
|
| 実行時間 | - |
| コード長 | 529 bytes |
| コンパイル時間 | 14,235 ms |
| コンパイル使用メモリ | 232,596 KB |
| 実行使用メモリ | 13,636 KB |
| 最終ジャッジ日時 | 2024-10-12 19:03:14 |
| 合計ジャッジ時間 | 18,815 ms |
|
ジャッジサーバーID (参考情報) |
judge2 / judge3 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| other | AC * 33 WA * 6 TLE * 1 -- * 44 |
ソースコード
package main
import (
"fmt"
"math"
)
func main() {
var n int
_, _ = fmt.Scan(&n)
sheep := func(i int) int { return (int(math.Pow(float64(i), 2)) + i) / 2 }
i := 0
min, max := 1, int(math.Pow10(9))*2
for min != max {
i = int(math.Ceil(float64(max-min)/2)) + min
s := sheep(i)
if s == n {
min, max = i, i
} else if s > n {
max = i - 1
} else {
min = i + 1
}
// fmt.Println(min, max, i, sheep(i), n)
}
if n == sheep(i) {
fmt.Println("YES")
fmt.Println(i)
} else {
fmt.Println("NO")
}
}
tsuchinaga