

Time Limit: 2 sec / Memory Limit: 1024 MB
配点 : 500 点
問題文
高橋君は、あるパーティに特別ゲストとしてやってきました。 そこには一般ゲストが N 人おり、一般ゲスト i (1 \leq i \leq N) の パワー は A_i です。
高橋君は 握手 を M 回行うことで、パーティ全体の 幸福度 を上げることにしました(握手開始前の幸福度を 0 とします)。 握手は、以下の手順によって行われます。
- 高橋君が左手で手を握る (一般) ゲスト x と右手で手を握るゲスト y を決める (両手で同じゲストの手を握っても良い)。
- 高橋君が実際にこれら二本の手を握ることで、幸福度が A_x+A_y 上がる。
ただし、全く同じ握手を二回以上行ってはいけません。厳密には、次の条件を満たす必要があります。
- k 回目の握手で、左手でゲスト x_k と、右手でゲスト y_k と手を握ったとする。このとき、 (x_p,y_p)=(x_q,y_q) を満たすような p,q(1 \leq p < q \leq M) が存在しない。
M 回の握手を行った後、最終的な幸福度は最大でいくらにできるでしょうか。
制約
- 1 \leq N \leq 10^5
- 1 \leq M \leq N^2
- 1 \leq A_i \leq 10^5
- 入力は全て整数である。
入力
入力は以下の形式で標準入力から与えられる。
N M A_1 A_2 ... A_N
出力
M 回の握手を行った後の最終的な幸福度の最大値を出力せよ。
入力例 1
5 3 10 14 19 34 33
出力例 1
202
例えば、
- 1 回目の握手で左手でゲスト 4、右手でゲスト 4 と握手し、
- 2 回目の握手で左手でゲスト 4、右手でゲスト 5 と握手し、
- 3 回目の握手で左手でゲスト 5、右手でゲスト 4 と握手する
ことで、幸福度を (34+34)+(34+33)+(33+34)=202 とすることができます。
幸福度を 203 以上にはできないので、答えは 202 となります。
入力例 2
9 14 1 3 5 110 24 21 34 5 3
出力例 2
1837
入力例 3
9 73 67597 52981 5828 66249 75177 64141 40773 79105 16076
出力例 3
8128170
Score : 500 points
Problem Statement
Takahashi has come to a party as a special guest. There are N ordinary guests at the party. The i-th ordinary guest has a power of A_i.
Takahashi has decided to perform M handshakes to increase the happiness of the party (let the current happiness be 0). A handshake will be performed as follows:
- Takahashi chooses one (ordinary) guest x for his left hand and another guest y for his right hand (x and y can be the same).
- Then, he shakes the left hand of Guest x and the right hand of Guest y simultaneously to increase the happiness by A_x+A_y.
However, Takahashi should not perform the same handshake more than once. Formally, the following condition must hold:
- Assume that, in the k-th handshake, Takahashi shakes the left hand of Guest x_k and the right hand of Guest y_k. Then, there is no pair p, q (1 \leq p < q \leq M) such that (x_p,y_p)=(x_q,y_q).
What is the maximum possible happiness after M handshakes?
Constraints
- 1 \leq N \leq 10^5
- 1 \leq M \leq N^2
- 1 \leq A_i \leq 10^5
- All values in input are integers.
Input
Input is given from Standard Input in the following format:
N M A_1 A_2 ... A_N
Output
Print the maximum possible happiness after M handshakes.
Sample Input 1
5 3 10 14 19 34 33
Sample Output 1
202
Let us say that Takahashi performs the following handshakes:
- In the first handshake, Takahashi shakes the left hand of Guest 4 and the right hand of Guest 4.
- In the second handshake, Takahashi shakes the left hand of Guest 4 and the right hand of Guest 5.
- In the third handshake, Takahashi shakes the left hand of Guest 5 and the right hand of Guest 4.
Then, we will have the happiness of (34+34)+(34+33)+(33+34)=202.
We cannot achieve the happiness of 203 or greater, so the answer is 202.
Sample Input 2
9 14 1 3 5 110 24 21 34 5 3
Sample Output 2
1837
Sample Input 3
9 73 67597 52981 5828 66249 75177 64141 40773 79105 16076
Sample Output 3
8128170