K - Lebesgue Integral
Editorial
/
Time Limit: 2 sec / Memory Limit: 1024 MB
配点 : 400 点
問題文
長さ N の正整数列 (A_1,A_2,\dots,A_N) が与えられます。 M=\max\,\{A_i\mid 1\leq i\leq N\} とし、区間 (0,M] を K 個の区間に分割します。すなわち、非負実数 m_i \, (i=0,1,\dots,K) を 0=m_0<m_1<m_2<\dots<m_{K-1}<m_K=M を満たすように選んで (0,M]=(m_0,m_1]\cup(m_1,m_2]\cup\dots\cup(m_{Kー1},m_{K}] とします。
区切り方を適切に定めたとき、 \[ \displaystyle \sum_{i=1}^{K} m_i \times (A_j \in (m_{i-1}, m_i]\text{となる}j\text{の個数}) \] の最小値を求めてください。答えは必ず整数になることが証明できます。
制約
- 1 \leq N \leq 10^5
- 1 \leq K \leq 10^5
- 1 \leq A_i \leq 10^5 \, (i=1,2,\dots,N)
- 入力はすべて整数
入力
入力は以下の形式で標準入力から与えられる。
N K A_1 A_2 \dots A_N
出力
答えを整数で出力せよ。
入力例 1
4 2 3 7 4 5
出力例 1
22
例えば、 (0,7]=(0,4]\cup(4,7] と分割すると、求める値は 4 \times 2 + 7 \times 2 = 22 となり、これが最小です。
入力例 2
19 4 3279 97197 36049 32099 29257 18290 96531 13435 88697 97081 71483 11396 77398 55303 4166 3906 12281 28658 30496
出力例 2
917886