Submission #1267593

#TimeUsernameProblemLanguageResultExecution timeMemory
1267593kutomei3Stove (JOI18_stove)C++20
100 / 100
22 ms3512 KiB
#include <bits/stdc++.h> using namespace std; #define int long long signed main() { int n, k; scanf("%lld %lld", &n, &k); vector<int> vec(n); for (int i = 0; i < n; i++) { scanf("%lld", &vec[i]); } priority_queue<pair<int, int>> pq; for (int i = 0; i < n - 1; i++) { pq.push({vec[i + 1] - vec[i], i}); } vector<int> sts(n, 1); for (int i = 0; i < k - 1; i++) { sts[pq.top().second] = 0; pq.pop(); } int l = vec[0]; int sum = 0; for (int i = 0; i < n - 1; i++) { if (!sts[i]) { sum += vec[i] - l + 1; l = vec[i + 1]; } } printf("%lld", sum + (sts[n - 1] ? vec[n - 1] - l + 1 : 0)); // cout << '\n'; // for (auto& p : sts) cout << p << ' '; return 0; } /* 1 3 6 2 3 */

Compilation message (stderr)

stove.cpp: In function 'int main()':
stove.cpp:8:10: warning: ignoring return value of 'int scanf(const char*, ...)' declared with attribute 'warn_unused_result' [-Wunused-result]
    8 |     scanf("%lld %lld", &n, &k);
      |     ~~~~~^~~~~~~~~~~~~~~~~~~~~
stove.cpp:12:14: warning: ignoring return value of 'int scanf(const char*, ...)' declared with attribute 'warn_unused_result' [-Wunused-result]
   12 |         scanf("%lld", &vec[i]);
      |         ~~~~~^~~~~~~~~~~~~~~~~
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...