結果

問題 No.2623 Room Allocation
ユーザー magurofly
提出日時 2024-02-09 21:41:20
言語 Ruby
(3.4.1)
結果
AC  
実行時間 374 ms / 2,000 ms
コード長 431 bytes
コンパイル時間 55 ms
コンパイル使用メモリ 7,424 KB
実行使用メモリ 50,944 KB
最終ジャッジ日時 2024-09-28 14:56:26
合計ジャッジ時間 7,770 ms
ジャッジサーバーID
(参考情報)
judge3 / judge1
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
sample AC * 3
other AC * 30
権限があれば一括ダウンロードができます
コンパイルメッセージ
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

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