結果

問題 No.370 道路の掃除
ユーザー バカらっくバカらっく
提出日時 2018-06-05 15:08:44
言語 Swift
(6.0.3)
結果
AC  
実行時間 10 ms / 2,000 ms
コード長 524 bytes
コンパイル時間 1,528 ms
コンパイル使用メモリ 135,748 KB
実行使用メモリ 9,472 KB
最終ジャッジ日時 2024-11-30 12:24:40
合計ジャッジ時間 2,974 ms
ジャッジサーバーID
(参考情報)
judge1 / judge2
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
other AC * 34
権限があれば一括ダウンロードができます

ソースコード

diff #

let inpt = readLine()!.split(separator: " ").map{ Int($0)! }

let mustGet = inpt[0]
let itemCount = inpt[1]

var items = [Int]()

for _ in 0..<itemCount {
    items.append(Int(readLine()!)!)
}

items = items.sorted()

var ans = (items.last! - items.first!) + min(abs(items.last!), abs(items.first!))

for i in 0..<items.count {
    if i + mustGet > itemCount {
        break
    }
    let temp = abs(items[i + mustGet - 1] - items[i]) + min(abs(items[i + mustGet - 1]), abs(items[i]))
    ans = min(ans,temp)
}
print(ans)

0