結果
| 問題 |
No.2623 Room Allocation
|
| コンテスト | |
| ユーザー |
|
| 提出日時 | 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
ソースコード
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