結果
問題 | No.609 Noelちゃんと星々 |
ユーザー |
![]() |
提出日時 | 2017-12-09 00:22:23 |
言語 | Go (1.23.4) |
結果 |
WA
|
実行時間 | - |
コード長 | 663 bytes |
コンパイル時間 | 13,410 ms |
コンパイル使用メモリ | 223,060 KB |
実行使用メモリ | 7,964 KB |
最終ジャッジ日時 | 2024-11-29 20:42:33 |
合計ジャッジ時間 | 31,849 ms |
ジャッジサーバーID (参考情報) |
judge1 / judge2 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
other | AC * 7 WA * 18 |
ソースコード
package mainimport ("fmt""log")var N intvar Y []intfunc main() {fmt.Scan(&N)Y = make([]int, N)for i := 0; i < N; i++ {fmt.Scan(&Y[i])}maxY := max(Y)lb := -1ub := maxYfor ub-lb > 1 {mid := (ub + lb) / 2if cal(lb) < cal(ub) {ub = mid} else {lb = mid}}log.Println(lb)log.Println(cal(lb + 1))log.Println(cal(5), cal(6), cal(7))fmt.Println(cal(lb + 1))}func cal(m int) int {r := 0for i := range Y {r += abs(m - Y[i])}return r}func max(n []int) int {r := n[0]for i := range n {if r < n[i] {r = n[i]}}return r}func abs(a int) int {if a > 0 {return a}return -a}