結果

問題 No.370 道路の掃除
ユーザー wotsushiwotsushi
提出日時 2016-12-10 15:47:27
言語 Ruby
(3.4.1)
結果
AC  
実行時間 100 ms / 2,000 ms
コード長 312 bytes
コンパイル時間 107 ms
コンパイル使用メモリ 7,424 KB
実行使用メモリ 13,568 KB
最終ジャッジ日時 2024-11-29 00:42:49
合計ジャッジ時間 4,791 ms
ジャッジサーバーID
(参考情報)
judge1 / judge2
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
other AC * 34
権限があれば一括ダウンロードができます
コンパイルメッセージ
Syntax OK

ソースコード

diff #

N, M = gets.split.map(&:to_i)
D = M.times.map {gets.to_i}
L = D.select {|d| d < 0}.map(&:abs).sort
R = D.select {|d| d >= 0}.sort
ans = ([0, N - L.size].max..[N, R.size].min).map {|k|
  x = [0, *R[0, k]].max
  y = [0, *L[0, N - k]].max
  (x == 0 || y == 0) ? [x, y].max : 2*[x, y].min + [x, y].max}.min
puts ans
0