競プロキャンプ2026関西
コンテスト日時
2026/10/17 (Sa) 15:30 - 17:30

H - Max Bust Darts

Darjeeling
2
s
1024
MB
100
点

問題文

ストーリー

こゃーそは無限にダーツを投げていいので、めちゃくちゃな目標スコアに対してとにかく大きくバーストをしてほしいと言われました。

ただ、こゃーそは万能なので、ダーツの得点をハッキングして特定の値に変更することができ、その上で狙った場所に完璧に投げることができます。

問題文

正の整数 $M$ と $N$ 個の正の整数 $A _ 1 , \ldots , A _ N$ が与えられます。 $X=0$ とします。 あなたはこの中から $K$ 個の整数を選びます。 その後、次の操作を好きな回数行うことができます。

  • $ X < M$ である場合のみこの操作を行える。選んだ整数の中から一つ選び、その値を $X$ に加える。

最終的な $X$ としてありうる最大値を答えてください。

制約

  • $1 \leq N \leq 40$
  • $1 \leq K \leq N$
  • $1 \leq M, A_i \leq 10^{6}$
  • 入力はすべて整数

入力

入力は以下の形式で標準入力から与えられる。

$N$ $M$ $K$
$A _ 1$ $A _ 2$ $\cdots$ $A _ N$

出力

答えとなる整数を 1 行に出力してください。

入力例 1
3 10 2 4 5 15
出力例 1
23

${4,15}$ の二つを選択することによって

$0+4=4$
$4+4=8$
$8+15=23$

と $X$ を変更することができます。 $10$ 以上となったのでこれ以上は操作ができなくなます。どのような二つ以下の選び方及び操作でも $23$ より大きい $X$ を作ることができないため $23$ を出力します。

入力例 2
3 1 3 100 200 300
出力例 2
300

全ての数字を選ぶことができますが、最初にどの値を選択しても終了となります。

入力例 3
10 900 3 314 159 265 358 979 323 846 264 338 327
出力例 3
1872
提出
C++23 (g++ 12.2.0)