結果

問題 No.78 クジ付きアイスバー
ユーザー wotsushi
提出日時 2017-02-04 16:25:07
言語 Ruby
(3.4.1)
結果
AC  
実行時間 127 ms / 5,000 ms
コード長 393 bytes
コンパイル時間 168 ms
コンパイル使用メモリ 7,424 KB
実行使用メモリ 13,056 KB
最終ジャッジ日時 2024-12-24 06:16:10
合計ジャッジ時間 5,867 ms
ジャッジサーバーID
(参考情報)
judge5 / judge2
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
sample AC * 4
other AC * 35
権限があれば一括ダウンロードができます
コンパイルメッセージ
Syntax OK

ソースコード

diff #

require 'matrix'

N, K = gets.split.map(&:to_i)
S = gets.chomp
def f(s, i, m)
  if i == s.size
    Vector[0, m]
  elsif m > 0
    f(s, i + 1, m - 1 + s[i].to_i)
  else
    f(s, i + 1, s[i].to_i) + Vector[1, 0]
  end
end
a, b = f(S, 0, 0).to_a
ans = if K < N
        f(S[0...(K % N)], 0, 0)[0]
      else
        a + (K / N - 1) * [a - b, 0].max + f(S[0...(K % N)], 0, b)[0]
      end
puts ans
0