結果
問題 | No.2623 Room Allocation |
ユーザー |
![]() |
提出日時 | 2024-02-09 21:55:16 |
言語 | PyPy3 (7.3.15) |
結果 |
AC
|
実行時間 | 1,615 ms / 2,000 ms |
コード長 | 973 bytes |
コンパイル時間 | 194 ms |
コンパイル使用メモリ | 82,080 KB |
実行使用メモリ | 214,688 KB |
最終ジャッジ日時 | 2024-09-28 15:11:51 |
合計ジャッジ時間 | 9,903 ms |
ジャッジサーバーID (参考情報) |
judge2 / judge3 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 3 |
other | AC * 30 |
ソースコード
import sysinput=sys.stdin.readlineN,X,Y=map(int,input().split())dat=[]for _ in range(N):dat.append(list(map(str,input().split())))point=[[0,0] for _ in range(X+Y)]for i in range(N):p,c=dat[i]p=int(p)if c=='A':point[i%(X+Y)][0]+=pelse:point[i%(X+Y)][1]+=plis=[]for i in range(X+Y):if point[i]!=[0,0]:lis.append([-point[i][0]+point[i][1],i,'A'])lis.append([-point[i][1]+point[i][0],i,'B'])lis.sort()ans=['']*(X+Y)countA,countB=X,Yfor sub,i,c in lis:if ans[i]=='':if c=='A':if countA>0:ans[i]='A'countA-=1else:ans[i]='B'countB-=1if c=='B':if countB>0:ans[i]='B'countB-=1else:ans[i]='A'countA-=1fa=0for i in range(N):if ans[i%(X+Y)]==dat[i][1]:fa+=int(dat[i][0])print(fa)