結果
問題 | No.2623 Room Allocation |
ユーザー |
👑 ![]() |
提出日時 | 2024-01-16 13:24:44 |
言語 | PyPy3 (7.3.15) |
結果 |
AC
|
実行時間 | 225 ms / 2,000 ms |
コード長 | 541 bytes |
コンパイル時間 | 370 ms |
コンパイル使用メモリ | 82,328 KB |
実行使用メモリ | 99,752 KB |
最終ジャッジ日時 | 2024-09-28 02:28:33 |
合計ジャッジ時間 | 5,929 ms |
ジャッジサーバーID (参考情報) |
judge2 / judge5 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 3 |
other | AC * 30 |
ソースコード
N, X, Y = map(int, input().split())assert 1 <= N <= 200000assert 0 <= X <= 200000assert 0 <= Y <= 200000assert X + Y >= 1P = []C = []for _ in range(N):p, c = map(str, input().split())P.append(int(p))C.append(c)diffs = [0 for _ in range(X + Y)]for i in range(N):if C[i] == 'A':diffs[i % (X + Y)] += P[i]else:diffs[i % (X + Y)] -= P[i]diffs.sort()# print(diffs)ans = sum(P)for i in range(X + Y):if i >= Y:ans += diffs[i]else:ans -= diffs[i]print(ans // 2)