No.3670 Fast Knapsack
問題文最終更新日: 2026-09-03 16:29:09
問題文
長さ $N$ の正整数列 $A=(A_1,A_2,\ldots,A_N)$ と、正整数 $S$ が与えられます。
$\{1,2,\ldots,N\}$ の部分集合 $U$ であって、$\sum_{i\in U}A_i\leq S$ を満たすもののうち、 $\sum_{i\in U}A_i$ の最大値を求めてください。
$T$ 個のテストケースに答えてください。
入力
入力は以下の形式で標準入力から与えられます。
$T$
$\text{case}_1$
$\text{case}_2$
$\vdots$
$\text{case}_T$
$\text{case}_i$ は以下の形式で与えられます。
$N\ S$ $A_1\ A_2\ \ldots\ A_N$
- $1\leq T\leq 10^5$
- $1\leq N\leq 10^5$
- $1\leq S, A_i\leq 2\times 10^5$
- 入力はすべて整数
- ひとつの入力ファイルに含まれる $N$ の総和は $10^5$ を超えない
出力
各テストケースについて、答えを $1$ 行に出力してください。 最後に改行してください。
サンプル
サンプル1
入力
5 5 11 2 4 5 7 9 3 4 5 6 7 4 20 2 3 4 5 5 100000 99999 99998 50001 50000 49999 3 10 6 5 5
出力
11 0 14 100000 10
提出するには、Twitter 、GitHub、 Googleもしくは右上の雲マークをクリックしてアカウントを作成してください。
harurun