結果
| 問題 |
No.2623 Room Allocation
|
| コンテスト | |
| ユーザー |
|
| 提出日時 | 2024-02-11 15:27:25 |
| 言語 | PyPy3 (7.3.15) |
| 結果 |
AC
|
| 実行時間 | 404 ms / 2,000 ms |
| コード長 | 551 bytes |
| コンパイル時間 | 256 ms |
| コンパイル使用メモリ | 82,096 KB |
| 実行使用メモリ | 125,336 KB |
| 最終ジャッジ日時 | 2024-09-28 17:31:36 |
| 合計ジャッジ時間 | 5,995 ms |
|
ジャッジサーバーID (参考情報) |
judge2 / judge4 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| sample | AC * 3 |
| other | AC * 30 |
ソースコード
N, X, Y = map(int, input().split())
r = X + Y
g = [[0, 0] for _ in range(r)]
m = ["A", "B"]
for i in range(N):
P, c = input().split()
P = int(P)
g[i % r][m.index(c)] += P
g.sort(key=lambda gi: -abs(gi[0] - gi[1]))
ans = 0
for i in range(r):
A, B = g[i][0], g[i][1]
if A >= B:
if X > 0:
X -= 1
ans += A
else:
Y -= 1
ans += B
else:
if Y > 0:
Y -= 1
ans += B
else:
X -= 1
ans += A
print(ans)
#print(*g)