結果

問題 No.370 道路の掃除
ユーザー zazaboonzazaboon
提出日時 2017-05-23 22:53:46
言語 Ruby
(3.3.0)
結果
AC  
実行時間 92 ms / 2,000 ms
コード長 1,220 bytes
コンパイル時間 64 ms
コンパイル使用メモリ 11,972 KB
実行使用メモリ 16,024 KB
最終ジャッジ日時 2023-10-19 15:43:39
合計ジャッジ時間 4,241 ms
ジャッジサーバーID
(参考情報)
judge13 / judge11
このコードへのチャレンジ
(要ログイン)

テストケース

テストケース表示
入力 結果 実行時間
実行使用メモリ
testcase_00 AC 89 ms
16,024 KB
testcase_01 AC 87 ms
16,024 KB
testcase_02 AC 91 ms
16,024 KB
testcase_03 AC 88 ms
16,024 KB
testcase_04 AC 88 ms
16,024 KB
testcase_05 AC 91 ms
16,020 KB
testcase_06 AC 87 ms
16,020 KB
testcase_07 AC 88 ms
16,024 KB
testcase_08 AC 88 ms
16,024 KB
testcase_09 AC 89 ms
16,024 KB
testcase_10 AC 89 ms
16,024 KB
testcase_11 AC 89 ms
16,024 KB
testcase_12 AC 90 ms
16,024 KB
testcase_13 AC 89 ms
16,024 KB
testcase_14 AC 90 ms
16,024 KB
testcase_15 AC 89 ms
16,024 KB
testcase_16 AC 89 ms
16,024 KB
testcase_17 AC 89 ms
16,024 KB
testcase_18 AC 89 ms
16,024 KB
testcase_19 AC 89 ms
16,024 KB
testcase_20 AC 92 ms
16,024 KB
testcase_21 AC 90 ms
16,024 KB
testcase_22 AC 91 ms
16,024 KB
testcase_23 AC 90 ms
16,024 KB
testcase_24 AC 90 ms
16,024 KB
testcase_25 AC 91 ms
16,024 KB
testcase_26 AC 92 ms
16,024 KB
testcase_27 AC 91 ms
16,024 KB
testcase_28 AC 91 ms
16,020 KB
testcase_29 AC 92 ms
16,024 KB
testcase_30 AC 92 ms
16,024 KB
testcase_31 AC 92 ms
16,024 KB
testcase_32 AC 90 ms
16,024 KB
testcase_33 AC 90 ms
16,024 KB
権限があれば一括ダウンロードができます
コンパイルメッセージ
Main.rb:2: warning: assigned but unused variable - a
Main.rb:3: warning: assigned but unused variable - a
Main.rb:11: warning: assigned but unused variable - a
Main.rb:16: warning: assigned but unused variable - now
Syntax OK

ソースコード

diff #

def calcs(x,y,ax,ay,bx,by) ((ax-x)*(by-y)-(bx-x)*(ay-y))/2.0 end
def inpf() a=gets.chomp.split(" ").map(&:to_f)end
def inps() a=gets.chomp.split(" ")end  
def copy(a) Marshal.load(Marshal.dump(a)) end
def kaizyo(n)(n < 2)? 1 : (2..n).inject(:*) end
def scount(a) b=na(a.max+1);a.each{|n|b[n]+=1};return b end
def na(n=0,d=0) Array.new(n,d)end
def na2(n=0,m=0,d=0) Array.new(n){Array.new(m,d)}end
def na3(n=0,m=0,l=0,d=0) Array.new(n){Array.new(m){Array.new(l,d)}}end
def bit(n) n.to_s(2).split("").map(&:to_i) end
def inp() a=gets.chomp.split(" ").map(&:to_i)end
@n,@m= inp
d=[]; @m.times{d.push(inp[0])}
d.sort!
min = d[2]-d[0]
now  = min
ind = -1
d.each.with_index do |dd,i|
  if(dd >= 0)
  ind = i 
  break
  end
end
@ans = 99999999999
def lser(x,s,a)
  return if(x<0)
  if(s >= @n)
    @ans = [@ans,a[x].abs].min
    return
  end
  lser(x-1,s+1,a)
  @ans = [@ans,a[x].abs+(a[x] - a[x+@n-@t]).abs].min if(a[x+@n-@t] != nil) 
end
def rser(x,s,a)
  return if(x > @m)
  if(s >= @n)
    @ans = [@ans,a[x].abs].min
    return
  end
  rser(x+1,s+1,a)
  @ans = [@ans,a[x].abs+(a[x] - a[x-@n+@t]).abs].min if(x-@n+@t >= 0) 
end
@t=d.count(0)
d.delete(0)
@m-=@t
d.insert(ind,0)
lser(ind,@t,d)
rser(ind,@t,d)
p @ans
=begin
=end
0