結果
| 問題 |
No.2617 容量3のナップザック
|
| コンテスト | |
| ユーザー |
titia
|
| 提出日時 | 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)
titia