結果
| 問題 |
No.180 美しいWhitespace (2)
|
| ユーザー |
tnoda_
|
| 提出日時 | 2015-04-15 14:36:12 |
| 言語 | Go (1.23.4) |
| 結果 |
WA
|
| 実行時間 | - |
| コード長 | 738 bytes |
| コンパイル時間 | 11,312 ms |
| コンパイル使用メモリ | 234,528 KB |
| 実行使用メモリ | 6,824 KB |
| 最終ジャッジ日時 | 2024-10-10 03:38:11 |
| 合計ジャッジ時間 | 13,118 ms |
|
ジャッジサーバーID (参考情報) |
judge2 / judge3 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| sample | AC * 4 |
| other | AC * 11 WA * 20 |
ソースコード
package main
import (
"fmt"
)
func min(x, y int64) int64 {
if y < x {
return y
}
return x
}
func max(x, y int64) int64 {
if y > x {
return y
}
return x
}
const inf64 = 1 << 62
func main() {
var N int
var A, B [1010]int64
fmt.Scan(&N)
for i := 0; i < N; i++ {
fmt.Scan(&A[i], &B[i])
}
f := func(x int64) int64 {
var maxF, minF int64
minF, maxF = inf64, -1
for i := 0; i < N; i++ {
g := A[i] + B[i]*int64(x)
maxF = max(g, maxF)
minF = min(g, minF)
}
return maxF - minF
}
var l, r int64
l, r = 1, 1<<32
for i := 0; i < 64; i++ {
d := r - l
d2 := d / 2
m := l + d2
switch {
case f(l) > f(r):
l = m
case f(l) < f(r):
r = m
}
}
if f(r) < f(l) {
l = r
}
fmt.Println(l)
}
tnoda_