結果
問題 |
No.2617 容量3のナップザック
|
ユーザー |
👑 |
提出日時 | 2023-12-19 22:07:04 |
言語 | Python3 (3.13.1 + numpy 2.2.1 + scipy 1.14.1) |
結果 |
TLE
|
実行時間 | - |
コード長 | 464 bytes |
コンパイル時間 | 184 ms |
コンパイル使用メモリ | 12,672 KB |
実行使用メモリ | 154,152 KB |
最終ジャッジ日時 | 2024-09-27 11:11:21 |
合計ジャッジ時間 | 4,258 ms |
ジャッジサーバーID (参考情報) |
judge5 / judge3 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 2 |
other | AC * 10 TLE * 1 -- * 29 |
ソースコード
R=range N,K,s,a,b,m=map(int,input().split()) f=[s] for i in R(2*N):f+=[(a*f[-1]+b)%m] v=[[-9**18]for w in R(3)] for i in R(N):v[f[i]%3]+=[-(f[i]%3+1)*f[i+N]] for w in R(3): u=v[w] u.sort() u[0],b=0,len(u) for i in R(1,b):u[i]=u[i-1]-u[i] while b<3*K+3: u+=[u[-1]] b+=1 a=v[2][K] for k in R(K): b=K-k l,r=0,b+1 while l<r-1: m=(l+r)//2 if v[1][m]-v[1][m-1]<v[0][3*b-2*m+2]-v[0][3*b-2*m]:r=m else:l=m a=max(a,v[2][k]+v[1][l]+v[0][3*b-2*l]) print(a)