結果
| 問題 | No.3401 Large Knapsack Problem |
| コンテスト | |
| ユーザー |
|
| 提出日時 | 2026-01-22 13:40:44 |
| 言語 | Python3 (3.14.2 + numpy 2.4.0 + scipy 1.16.3) |
| 結果 |
WA
|
| 実行時間 | - |
| コード長 | 286 bytes |
| 記録 | |
| コンパイル時間 | 595 ms |
| コンパイル使用メモリ | 20,832 KB |
| 実行使用メモリ | 61,060 KB |
| 最終ジャッジ日時 | 2026-01-22 13:41:26 |
| 合計ジャッジ時間 | 38,799 ms |
|
ジャッジサーバーID (参考情報) |
judge2 / judge5 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| sample | AC * 1 WA * 2 |
| other | AC * 2 WA * 40 |
ソースコード
import numpy as np M=np.loadtxt(open(0),"q") N,W=M[0];v,w=M[1:].T V=W//(U:=w[i:=np.argmax(v/w)]*1000)*v[i]*1000;W%=U dp=np.full(W+1,-10**9);dp[0]=0 R=np.arange(W+1) for v,w in M[1:]: dp-=R//w*v for i in np.array_split(dp,w):np.maximum.accumulate(i,out=i) dp+=R//w*v print(V+dp.max())