제출 #1257346

#제출 시각아이디문제언어결과실행 시간메모리
1257346ptgramaStove (JOI18_stove)C++20
100 / 100
12 ms1864 KiB
#include <bits/stdc++.h> using namespace std; int main() { ios::sync_with_stdio(false); cin.tie(nullptr); int N, K; if (!(cin >> N >> K)) return 0; vector<long long> T(N); for (int i = 0; i < N; ++i) cin >> T[i]; if (K >= N) { cout << N << "\n"; return 0; } vector<long long> gaps; gaps.reserve(N - 1); for (int i = 0; i + 1 < N; ++i) { long long g = T[i+1] - T[i] - 1; // jarak dari akhir tamu i ke awal tamu i+1 // karena "paling banyak satu tamu pada satu waktu", g >= 0 gaps.push_back(g); } sort(gaps.begin(), gaps.end()); // naik long long extra = 0; int needMerge = N - K; for (int i = 0; i < needMerge; ++i) extra += gaps[i]; long long ans = (long long)N + extra; cout << ans << "\n"; return 0; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...