CF1197C.Array Splitting
普及/提高-
通过率:0%
AC君温馨提醒
该题目为【codeforces】题库的题目,您提交的代码将被提交至codeforces进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。
题目描述
You are given a sorted array a1,a2,…,an (for each index i>1 condition ai≥ai−1 holds) and an integer k .
You are asked to divide this array into k non-empty consecutive subarrays. Every element in the array should be included in exactly one subarray.
Let max(i) be equal to the maximum in the i -th subarray, and min(i) be equal to the minimum in the i -th subarray. The cost of division is equal to i=1∑k(max(i)−min(i)) . For example, if a=[2,4,5,5,8,11,19] and we divide it into 3 subarrays in the following way: [2,4],[5,5],[8,11,19] , then the cost of division is equal to (4−2)+(5−5)+(19−8)=13 .
Calculate the minimum cost you can obtain by dividing the array a into k non-empty consecutive subarrays.
输入格式
The first line contains two integers n and k ( 1≤k≤n≤3⋅105 ).
The second line contains n integers a1,a2,…,an ( $ 1 \le a_i \le 10^9$ , ai≥ai−1 ).
输出格式
Print the minimum cost you can obtain by dividing the array a into k nonempty consecutive subarrays.
输入输出样例
输入#1
6 3 4 8 15 16 23 42
输出#1
12
输入#2
4 4 1 3 3 7
输出#2
0
输入#3
8 1 1 1 2 3 5 8 13 21
输出#3
20
说明/提示
In the first test we can divide array a in the following way: [4,8,15,16],[23],[42] .