競プロキャンプ2026関東
コンテスト日時
2026/06/07 (Su) 09:15 - 11:15

K - Endgame

Flavor
2
s
1024
MB
100

問題文

Nachia 君が好きなゲームの中に、 Join Wars という対戦型デジタルカードゲームがあります。

Join Wars では、ワールドというカード置き場に置いたカードの得点を競います。
ワールドは $N$ 個あり、それぞれワールド $1$ 、ワールド $2$ 、 $\ldots$ 、ワールド $N$ と呼ぶことにします。
ワールド $i$ ($1 \leq i \leq N$) には正整数の満員 $X _ i$ が設定されています。

あなたは、現在の手札としてカード A を $A$ 枚、カード B を $B$ 枚持っています。
また、すべてのワールドにはカードが置かれておらず、得点は $0$ です。
あなたは、以下の操作を好きな順番で、好きなだけ行います。

  • (A) 手札のカード A を $1$ 枚捨てる。
  • (B) ワールドに置かれたカードの得点の総和が満員未満であるワールドを $1$ つ選ぶ。選んだワールドをワールド $i$ として、手札のカード B を $1$ 枚ワールド $i$ に置く。このとき移動したカードの得点は、それよりも前にワールド $i$ に置かれたカード B の枚数とそれ以前に捨てたカード A の枚数の和に $1$ を足した値となる。

ただし、一度捨てたカードやワールドに置いたカードは、手札ではないものとします。
また、操作 (B) によってワールド $i$ の得点が $X _ i$ を超えてもよいことに注意してください。

$N$ 個のワールドの得点の総和としてありうる最大値を計算してください。

制約

  • $1 \leq N \leq 3{,}000$
  • $0 \leq A \leq 10^{9}$
  • $0 \leq B \leq 10^{9}$
  • $1 \leq X _ i \leq 10^{9}$
  • 入力はすべて整数

入力

$N$ $A$ $B$
$X _ 1$ $X _ 2$ $\ldots$ $X _ N$

出力

最終的な得点の総和の最大値を一行に出力してください。

入力例 1
1 2 10 3
出力例 1
6

まず、手札に $2$ 枚あるカード A のうち $1$ 枚を捨てます。

次に、ワールド $1$ にカード B を $1$ 枚置きます。このカードの得点は $0 + 1 + 1 = 2$ です。

次に、手札に $1$ 枚あるカード A を捨てます。

次に、ワールド $1$ にカード B を $1$ 枚置きます。このカードの得点は $1 + 2 + 1 = 4$ です。

手札にカード B が $8$ 枚余っていますが、ワールド $1$ の満員は $3$ であり、ワールド $1$ の得点はすでに $3$ 以上であるためこれ以上得点を増やすことはできません。

この場合の最終的な得点の合計は $6$ です。

入力例 2
10 1000000000 1000000000 1 1 1 1 1 1 1 1 1 1
出力例 2
10000000010
入力例 3
7 10 10 50 20 20 20 20 20 20
出力例 3
121
提出
C++23 (g++ 12.2.0)