// #pragma GCC optimize("O3,unroll-loops")
// #pragma GCC target("avx2,bmi,bmi2,lzcnt,popcnt")
#include <bits/stdc++.h>
using namespace std;
long long fpow(long long a, long long b)
{
long long res = 1;
if (!b)
return 1;
while (b)
{
if (b & 1)
res = res * a;
a = a * a;
b >>= 1;
}
return res;
}
#define ll signed long long
#define ull unsigned long long
#define endl '\n'
#define F first
#define S second
#define mp make_pair
#define triple(T1, T2, T3) pair<T1, pair<T2, T3>>
#define mt(a, b, c) mp(a, mp(b, c))
#define L first
#define M second.first
#define R second.second
#define pb push_back
#define ins insert
#define pq priority_queue
#define min3(a, b, c) min(a, min(b, c))
#define max3(a, b, c) max(a, max(b, c))
#define erray array
#define INF ((long long)1e18 + 7)
#define TEST(t) \
ll t; \
cin >> t; \
while (t--)
#define has(vect, item) (find(vect.begin(), vect.end(), item) != vect.end())
#define forl(i, l, r) for (ll i = (l); i <= (r); i++)
#define forr(i, l, r) for (ll i = (r); i >= (l); i--)
#define kosokuIO \
ios_base::sync_with_stdio(false); \
cin.tie(NULL); \
cout << fixed << setprecision(5)
#define ceilbin(N) (1 << (ll)(ceil(log2((double)N))))
#define v vector
// R = 0, U = 1, L = 2, D = 3
ll dx[4] = { 1, 0, -1, 0 };
ll dy[4] = { 0, 1, 0, -1 };
string stepDir = "URDL";
int main()
{
kosokuIO;
ll n, k;
cin >> n >> k;
v<ll> a(n);
forl(i, 0, n - 1)
{
cin >> a[i];
}
sort(a.begin(), a.end());
v<ll> b(n - 1);
forl(i, 0, n - 2)
{
b[i] = a[i + 1] - a[i];
}
sort(b.rbegin(), b.rend());
ll t = min(k, n);
forl(i, k - 1, n - 2)
{
t += b[i];
}
cout << t << endl;
return 0;
}
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |