結果
問題 |
No.2617 容量3のナップザック
|
ユーザー |
![]() |
提出日時 | 2024-01-30 05:42:06 |
言語 | PyPy3 (7.3.15) |
結果 |
WA
|
実行時間 | - |
コード長 | 878 bytes |
コンパイル時間 | 292 ms |
コンパイル使用メモリ | 82,028 KB |
実行使用メモリ | 249,680 KB |
最終ジャッジ日時 | 2024-09-28 10:11:33 |
合計ジャッジ時間 | 11,185 ms |
ジャッジサーバーID (参考情報) |
judge4 / judge3 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 2 |
other | AC * 17 WA * 23 |
ソースコード
import sys input = sys.stdin.readline N,K,seed,a,b,m=map(int,input().split()) F=[seed] for i in range(2*N-1): F.append((F[-1]*a+b)%m) V=[[],[],[]] for i in range(N): w=F[i]%3+1 v=F[i+N]*w V[w-1].append(v) for i in range(3): V[i].sort() ANS=0 for i in range(K): for j in range(3): if V[j]==[]: V[j]=[0] v3=V[2][-1] v12=V[0][-1]+V[1][-1] v1=0 for j in range(3): if len(V[0])-1-j>=0: v1+=V[0][len(V[0])-1-j] MAX=max(v1,v12,v3) if MAX==v3: ANS+=V[2].pop() elif MAX==v12: ANS+=V[1].pop() ANS+=V[0].pop() else: ANS+=V[0].pop() if V[0]==[]: V[0].append(0) ANS+=V[0].pop() if V[0]==[]: V[0].append(0) ANS+=V[0].pop() if V[0]==[]: V[0].append(0) print(ANS)