Submission #540220

#TimeUsernameProblemLanguageResultExecution timeMemory
540220lynnetanStove (JOI18_stove)C++17
0 / 100
1 ms340 KiB
#include <iostream> #include <vector> #include <algorithm> using namespace std; struct number { int num, diff; number(int n) { num = n; } }; bool compareNum(number n1, number n2) { return n1.num <= n2.num; } bool compareDiff(number n1, number n2) { return n1.diff <= n2.diff; } int countDiff(number n1, number n2) { return n2.num - n1.num; } int main() { int n, k, inputNum; cin >> n >> k; vector<number> arr; for(int i = 0; i < n; i++) { cin >> inputNum; arr.push_back(number(inputNum)); } sort(arr.begin(), arr.end(), compareNum); if(k < n) { for(int i = 1; i < n; i++) { arr[i].diff = countDiff(arr[i-1], arr[i]); } sort(arr.begin(), arr.end(), compareDiff); int sum = n; int x = n - k + 1; for (int i = 1; i < x; i++) { sum += arr[i].diff - 1; } cout << sum; } else { cout << n; } return 0; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...