結果
| 問題 | No.2623 Room Allocation |
| コンテスト | |
| ユーザー |
|
| 提出日時 | 2024-02-09 22:34:22 |
| 言語 | PyPy3 (7.3.23 + ACL) |
| 結果 |
AC
不安定
|
| 実行時間 | 218 ms / 2,000 ms |
| + 535µs | |
| コード長 | 549 bytes |
| 記録 | |
| コンパイル時間 | 236 ms |
| コンパイル使用メモリ | 96,076 KB |
| 実行使用メモリ | 120,060 KB |
| 最終ジャッジ日時 | 2026-09-05 16:48:38 |
| 合計ジャッジ時間 | 7,470 ms |
|
ジャッジサーバーID (参考情報) |
judge3_0 / judge4_0 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| sample | AC * 3 |
| other | AC * 30 |
ソースコード
N,X,Y=map(int,input().split()) client=[] for i in range(N): P,c=input().split() P=int(P) client.append((P,c)) af=[] bf=[] a=0 b=0 ans=0 for i in range(X+Y): cnt=[0,0] for j in range(i,N,X+Y): P,c=client[j] if c=="A": cnt[0]+=P else: cnt[1]+=P if max(cnt[0],cnt[1])==0: continue if cnt[0]>=cnt[1]: a+=1 ans+=cnt[0] af.append(abs(cnt[0]-cnt[1])) else: b+=1 ans+=cnt[1] bf.append(abs(cnt[0]-cnt[1])) af.sort(reverse=True) bf.sort(reverse=True) while len(af)>X: ans-=af.pop() while len(bf)>Y: ans-=bf.pop() print(ans)