結果
| 問題 |
No.3016 ハチマキおじさん
|
| コンテスト | |
| ユーザー |
ID 21712
|
| 提出日時 | 2025-03-13 14:10:58 |
| 言語 | Go (1.23.4) |
| 結果 |
AC
|
| 実行時間 | 249 ms / 2,000 ms |
| コード長 | 707 bytes |
| コンパイル時間 | 13,655 ms |
| コンパイル使用メモリ | 244,648 KB |
| 実行使用メモリ | 14,340 KB |
| 最終ジャッジ日時 | 2025-03-13 14:11:23 |
| 合計ジャッジ時間 | 22,980 ms |
|
ジャッジサーバーID (参考情報) |
judge1 / judge5 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| other | AC * 31 |
ソースコード
package main
import . "fmt"
import . "sort"
import . "os"
import bf "bufio"
func main() {
rd := bf.NewReader(Stdin)
var n int
Fscan(rd,&n)
a := make([]int, n)
b := make([]int, n-1)
for i := range a {
Fscan(rd,&a[i])
}
for i := range b {
Fscan(rd,&b[i])
}
Ints(a)
Ints(b)
var sum int64
for i, v := range b {
sum += int64(abs(a[i+1]-v))
}
min := sum
t := []any{a[0]}
for i, v := range a[:n-1] {
sum += int64(abs(v-b[i])-abs(a[i+1]-b[i]))
if sum < min {
min = sum
t = []any{a[i+1]}
} else if sum == min {
if t[len(t)-1].(int) != a[i+1] {
t = append(t, a[i+1])
}
}
}
Println(len(t))
Println(t...)
}
func abs(a int) int{
if a < 0 {
return -a
}
return a
}
ID 21712