結果

問題 No.3401 Large Knapsack Problem
コンテスト
ユーザー id-ord
提出日時 2026-01-22 13:40:44
言語 Python3
(3.14.2 + numpy 2.4.0 + scipy 1.16.3)
結果
WA  
実行時間 -
コード長 286 bytes
記録
記録タグの例:
初AC ショートコード 純ショートコード 純主流ショートコード 最速実行時間
コンパイル時間 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
権限があれば一括ダウンロードができます

ソースコード

diff #
raw source code

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())
0