結果

問題 No.2623 Room Allocation
ユーザー maguroflymagurofly
提出日時 2024-02-09 21:40:22
言語 Ruby
(3.4.1)
結果
WA  
実行時間 -
コード長 500 bytes
コンパイル時間 219 ms
コンパイル使用メモリ 7,424 KB
実行使用メモリ 47,232 KB
最終ジャッジ日時 2024-09-28 14:55:44
合計ジャッジ時間 7,233 ms
ジャッジサーバーID
(参考情報)
judge4 / judge3
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
sample AC * 3
other AC * 22 WA * 8
権限があれば一括ダウンロードができます
コンパイルメッセージ
Syntax OK

ソースコード

diff #

input = $<.read.split

N, X, Y = input.shift(3).map(&:to_i)


group_by_ai = Array.new(2) { [0] * (X + Y) }
N.times do |i|
	p = input.shift.to_i
	c = input.shift
	case c
	when ?A
		group_by_ai[0][i % (X + Y)] += p
	when ?B
		group_by_ai[1][i % (X + Y)] += p
	end
end

indices = (0 ... X + Y).filter { |i| group_by_ai[0][i] + group_by_ai[1][i] > 0 }
sum = indices.sum { |i| group_by_ai[0][i] }
a = indices.map { |i| group_by_ai[1][i] - group_by_ai[0][i] }
a.sort!
a.reverse!
sum += a[0, Y].sum
puts sum
0