結果
問題 |
No.3016 ハチマキおじさん
|
ユーザー |
![]() |
提出日時 | 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 }