#!ruby n,k,*a=gets(p).split.map(&:to_i) i=0 d=n/k r=[0,a[k-1]] m = a[k-1] 2.upto(d) do |c| r=[0,a[k-1]] k.upto(a.size-1) do |i| c.downto(2) do |b| next if i v then r[b] = v end end r[1] = [r[1],a[i]].min if i<=(k-1)*c end m = [m,r[c]].min if r[c] end p m