# | Time | Username | Problem | Language | Result | Execution time | Memory |
---|---|---|---|---|---|---|---|
1033620 | trucmai | Stove (JOI18_stove) | C++17 | 0 ms | 344 KiB |
This submission is migrated from previous version of oj.uz, which used different machine for grading. This submission may have different result if resubmitted.
#include <bits/stdc++.h>
#include <functional>
#ifdef LOCAL
#include "/home/trcmai/code/tools.h"
#define debug(x...) \
cerr << "\e[91m" << __func__ << ":" << __LINE__ << " [" << #x << "] = ["; \
_print(x); \
cerr << "\e[39m" << endl;
#else
#define debug(x...)
#endif
using namespace std;
#define all(a) a.begin(), a.end()
#define ll long long
#define endl '\n'
const int N = 1e6 + 6, LOG = 27, MOD = 1e9 + 7;
const ll INF = 1e9;
int n, k;
int T[N];
signed main()
{
cin.tie(0)->sync_with_stdio(0);
auto solver = [&]() {
cin >> n >> k;
vector<int> diff;
for (int i = 1; i <= n; ++i) {
cin >> T[i];
if (i > 1)
diff.emplace_back(T[i] - T[i - 1] - 1);
}
if (k == 1) {
int sum = 0;
for (int i = 1; i <= n; ++i)
sum += T[i];
cout << sum;
return;
}
--k;
sort(diff.begin(), diff.end(), greater<int>());
int res = k + 1;
for (int i = k; i < diff.size(); ++i)
res += diff[i];
cout << res << endl;
};
int t = 1; // cin>>t;
while (t--)
solver();
}
Compilation message (stderr)
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |