#arc043d. [arc043_d]引っ越し
[arc043_d]引っ越し
問題文
高橋国には 個の空き家がある。空き家は から の整数で番号付けされており、順に東西に一直線に キロメートル間隔で並んでいる。 つまり 番目の空き家は ある基準点から真東に キロメートル進んだところにある。
この国に 世帯の家族が引っ越してきた。 番目の家族は 人家族である。 この 世帯の家族に 軒ずつ空き家を振り分けていく。このとき複数の家族に同じ家を振り分けてはならない。
あなたの目標は「住民の距離」を最大化するように空き家を振り分けることである。 「住民の距離」とは引っ越してきた人々の中の全ての 人組について、その住んでいる家の距離の総和を取った値である。
最適な振り分け方をしたときの「住民の距離」の最大値を求めよ。
入力
入力は以下の形式で標準入力から与えられる
:
- 行目には高橋国にある空き家の個数を表す整数 と 高橋国に引っ越してくる家族の世帯数 が空白区切りで与えられる。
- 行目からの 行のうち 行目には 番目の家族を構成する人数 が与えられる。
部分点
この問題には部分点が設定されている。
- を満たすデータセットに正解した場合は 点が与えられる。
- を満たすデータセットに正解した場合はさらに 点が与えられる。合計で 点となる。
出力
「住民の距離」の最大値を 行に出力せよ。 出力の末尾に改行を入れること。
入力例1
4 3
1
1
2
出力例1
11
つめの家族の構成をAさん。 つめの家族の構成をBさん。 つめの家族の構成をCさん、Dさんとする。 つめの家族を 番目の空き家、 つめの家族を 番目の空き家、 つめの家族を 番目の空き家に振り分けると、各二人組の距離は以下のようになる。
- AさんとBさんの距離:
- AさんとCさんの距離:
- AさんとDさんの距離:
- BさんとCさんの距離:
- BさんとDさんの距離:
- CさんとDさんの距離:
よって合計は となる。これが「住民の距離」の最大値である。
入力例2
10 10
3
1
4
1
5
9
2
6
5
3
出力例2
2998
入力例3
20 10
2
7
1
8
2
8
1
8
2
8
出力例2
9852