Submission #160525

#TimeUsernameProblemLanguageResultExecution timeMemory
160525godwindStove (JOI18_stove)C++14
100 / 100
65 ms3316 KiB
#pragma GCC optimize("Ofast") #pragma GCC optimize("no-stack-protector") #pragma GCC optimize("unroll-loops") #pragma GCC optimize("fast-math") #pragma GCC target("sse,sse2,sse3,ssse3,popcnt,abm,mmx,tune=native") #include <iostream> #include <vector> #include <algorithm> #include <set> #include <map> #include <unordered_set> #include <unordered_map> #include <stdio.h> #include <cstdio> #include <math.h> #include <cmath> #include <string> #include <cstring> #include <queue> #include <deque> #include <random> #include <iomanip> #include <bitset> using namespace std; template<typename T> void uin(T &a, T b) { if (b < a) { a = b; } } template<typename T> void uax(T &a, T b) { if (b > a) { a = b; } } #define int long long #define left left228 #define right right228 #define prev prev228 #define list list228 #define mp make_pair #define all(v) v.begin(), v.end() #define forn(i, n) for (int i = 0; i < (int)n; ++i) #define firn(i, n) for (int i = 1; i < (int)n; ++i) #define x first #define y second const int N = 100 * 1000 + 228; int t[N]; signed main() { ios_base::sync_with_stdio(false); cin.tie(0); int n, k; cin >> n >> k; uin(k, n); for (int i = 1; i <= n; ++i) { cin >> t[i]; } sort(t + 1, t + n + 1); vector<int> diff; for (int i = 1; i < n; ++i) { diff.push_back(t[i + 1] - t[i]); } sort(diff.rbegin(), diff.rend()); int res = k + t[n] - t[1]; for (int i = 0; i < k - 1; ++i) { res -= diff[i]; } cout << res << '\n'; return 0; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...