Coffee Break 001
コンテスト日時
2021/06/05 (Sa) 17:30 - 20:00

E - Repeated Sequence

ผักชี
3
s
1024
MB
700

問題文

長さ $N$ の数列 $A$ と、長さ $M$ の数列 $B$ が与えられます。ここで、$M \le N$ です。
あなたは、$A$ と $B$ をそれぞれ好きな順序に並び替えることができます。 ($2$ つの数列間で要素を交換することはできません)
その後、以下の規則に従って長さ $N$ の数列 $B'$ を作ります。

  • $1 \le i \le M$ のとき、$B'_i = B_i$ である
  • $M \lt i \le N$ のとき、$B'_i = B'_{i - M}$ である

$\sum_{i = 1}^N |A_i - B'_i|$ として考えられる最大値を求めてください。

制約

  • $1 \le M \le N \le 5 \times 10^5$
  • $1 \le A_i \le 10^9$
  • $1 \le B_i \le 10^9$
  • 入力は全て整数

入力

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

$N \hspace{7pt} M$
$A_1 \hspace{7pt} A_2 \hspace{7pt} A_3 \hspace{5pt} \dots \hspace{5pt} A_N$
$B_1 \hspace{7pt} B_2 \hspace{7pt} B_3 \hspace{5pt} \dots \hspace{5pt} B_M$

出力

答えを出力せよ。

入力例 1
3 2 6 2 4 3 5
出力例 1
7

例えば $A, B$ を全く並び替えないと $B' = (3, 5, 3)$ となり、$\sum_{i = 1}^N |A_i - B'_i| = 3 + 3 + 1 = 7$ となります。
$A, B$ をどのように並び替えても、これより $\sum_{i = 1}^N |A_i - B'_i|$ を大きくすることはできません。

入力例 2
5 3 1 5 2 5 2 5 2 1
出力例 2
15

例えば $A = (5, 1, 2, 5, 2), B = (1, 5, 2)$ となるように並べ替えるとよいです。

入力例 3
5 1 1 1 1 1 1 1000000000
出力例 3
4999999995
提出
C++23 (g++ 12.2.0)