結果
問題 | No.78 クジ付きアイスバー |
ユーザー |
![]() |
提出日時 | 2016-03-24 00:07:20 |
言語 | Ruby (3.4.1) |
結果 |
WA
(最新)
AC
(最初)
|
実行時間 | - |
コード長 | 906 bytes |
コンパイル時間 | 111 ms |
コンパイル使用メモリ | 7,424 KB |
実行使用メモリ | 12,288 KB |
最終ジャッジ日時 | 2024-10-06 19:04:13 |
合計ジャッジ時間 | 4,714 ms |
ジャッジサーバーID (参考情報) |
judge5 / judge1 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 4 |
other | AC * 31 WA * 4 |
コンパイルメッセージ
Syntax OK
ソースコード
class Yukicoder def initialize n, k = gets.chomp.split.map(&:to_i) s = gets.chomp list = Array.new(n, 0) buy_count = 0 atari_cost = 0 s.chars.each_with_index do |ch, index| if atari_cost > 0 atari_cost -= 1 else buy_count += 1 end list[index] = buy_count if ch == '1' atari_cost += 1 elsif ch == '2' atari_cost += 2 end end if n >= k puts list[k-1] else x = k / n - 1 if k % n == 0 y = [buy_count, atari_cost].map{|i| i * (x+1)} if y[1] > 0 puts [y[0] - y[1] + 1, 1].max else puts [y[0] - y[1], 1].max end else y = [buy_count, atari_cost].map{|i| i * x} puts [buy_count + x * (buy_count - atari_cost) + [list[k%n-1] - atari_cost, 0].max, buy_count].max end end end end Yukicoder.new