#include <bits/stdc++.h>
using namespace std;
const int MAX = 500010;
int ara[MAX];
vector<pair<int, int> > V;
vector<int> P;
bool cmp(pair<int, int> a, pair<int, int> b) {
  if (a.first == b.first) return a.second < b.second;
  return a.first > b.first;
}
int main() {
  int n, k;
  scanf("%d %d", &n, &k);
  for (int i = 1; i <= n; i++) {
    scanf("%d", &ara[i]);
  }
  for (int i = 1; i < n; i++) {
    V.push_back({ara[i + 1] - ara[i], i});
  }
  sort(V.begin(), V.end(), cmp);
  long long ans = 0;
  P.push_back(0);
  for (int i = 0; i < k - 1; i++) {
    P.push_back(V[i].second);
  }
  sort(P.begin(), P.end());
  P.push_back(n);
  for (int i = 1; i < P.size(); i++) {
    ans += ara[P[i]] - ara[P[i - 1] + 1];
  }
  cout << ans << endl;
  return 0;
}
