AT_pakencamp_2018_day2_b チーム戦 (Teamwork)
Description
[problemUrl]: https://atcoder.jp/contests/pakencamp-2018-day2/tasks/pakencamp_2018_day2_b
パ研という部活には、$ N $ 人の部員がいます。それぞれの部員には、年齢順に $ 1 $, $ 2 $, $ 3 $, ..., $ N $ と番号が付けられています。
部員 $ i $ の競技プログラミングの実力は $ A_i $ です。
競技プログラミングではチーム戦が多くあります。パ研では、「チームの戦闘力」を、チームで最も実力が低い人の実力の値、と定義しました。
例えば、実力が $ 5 $, $ 4 $, $ 10 $ の人がいる $ 3 $ 人チームの戦闘力は、$ 4 $ となります。
ある日突然、2020 年に開催される東京オリンピックの種目に、「競技プログラミング」が追加されました。この大会には、ちょうど $ D $ 人で構成されるチームで出場しなければなりません。
パ研の部員全員が、代表選抜に応募したいです。その為、パ研はチーム分けを以下のような方法で行うことにしました。
- 出来るだけ多くの人が、代表選抜に応募できることにする。
- その中で、**チームの戦闘力の合計** が最大になるようにチーム編成をする。
- ただし、同じ人が複数のチームに入ってはならない。
さて、チームの戦闘力の合計はいくつになるでしょうか?
Input Format
入力は以下の形式で標準入力から与えられます。
> $ N $ $ D $ $ A_1 $ $ A_2 $ $ A_3 $ ... $ A_N $
Output Format
問題文中の方法に従ってチーム編成をした時、チームの戦闘力の合計はいくつか、整数で一行に出力してください。
Explanation/Hint
### 制約
- $ N $ は $ 1 $ 以上 $ 1\ 000 $ 以下の整数
- $ D $ は $ 1 $ 以上 $ 10 $ 以下の整数
- $ A_i $ は $ 1 $ 以上 $ 4\ 208 $ 以下の整数
- 全く同じ実力の部員はいない
### 小課題
小課題 $ 1 $ \[$ 25 $ 点\]
- $ N\ =\ D $ を満たす.
小課題 $ 3 $ \[$ 75 $ 点\]
- 追加の制約はない.
### Sample Explanation 1
部員の実力は、部員 $ 1 $ から順に $ {20,\ 18,\ 12,\ 24} $ です。 チームを以下のように決めると、戦闘力の合計が $ 20\ +\ 12\ =\ 32 $ となります。 - 部員 $ 1 $ と $ 4 $ で構成されるチーム: 戦闘力は $ min(20,\ 24)\ =\ 20 $ - 部員 $ 2 $ と $ 3 $ で構成されるチーム: 戦闘力は $ min(18,\ 12)\ =\ 12 $
### Sample Explanation 2
$ N\ =\ D $ なので、$ 1 $ チームしか作れません。また、$ 1 $ チーム編成するとき、過不足なくどの部員も代表選抜に参加できます。 そのため、戦闘力の合計は $ min(8,\ 6,\ 9,\ 1,\ 20)\ =\ 1 $ となります。
### Sample Explanation 3
$ N\