問題一覧 > 通常問題

No.3670 Fast Knapsack

レベル : / 実行時間制限 : 1ケース 2.500秒 / メモリ制限 : 1024 MB / 標準ジャッジ問題
タグ : / 解いたユーザー数 21
作問者 : harurun / テスター : 👑 みうね TKTYI
お気に入りにしたユーザー ProblemId : 13830 / yukicoder contest 512 BONSAI (順位表) / 自分の提出
問題文最終更新日: 2026-09-03 16:29:09
yukicoder contest 512 BONSAIの他の問題:

問題文

長さ $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もしくは右上の雲マークをクリックしてアカウントを作成してください。