# | 제출 시각 | 아이디 | 문제 | 언어 | 결과 | 실행 시간 | 메모리 |
---|---|---|---|---|---|---|---|
528204 | 2022-02-19T16:57:51 Z | happypotato | Stove (JOI18_stove) | C++17 | 0 ms | 0 KB |
#include <bits/stdc++.h> #define ll long long #define ull unsigned long long #define ld long double #define pii pair<int, int> #define pll pair<ll int, ll int> #define vi vector<int> #define vl vector<ll int> #define ff first #define ss second #define pb push_back #define eb emplace_back #pragma GCC optimize("Ofast") using namespace std; // debug template void __print(int x) {cerr << x;} void __print(long x) {cerr << x;} void __print(long long x) {cerr << x;} void __print(unsigned x) {cerr << x;} void __print(unsigned long x) {cerr << x;} void __print(unsigned long long x) {cerr << x;} void __print(float x) {cerr << x;} void __print(double x) {cerr << x;} void __print(long double x) {cerr << x;} void __print(char x) {cerr << '\'' << x << '\'';} void __print(const char *x) {cerr << '\"' << x << '\"';} void __print(const string &x) {cerr << '\"' << x << '\"';} void __print(bool x) {cerr << (x ? "true" : "false");} template<typename T, typename V> void __print(const pair<T, V> &x) {cerr << '{'; __print(x.first); cerr << ','; __print(x.second); cerr << '}';} template<typename T> void __print(const T &x) {int f = 0; cerr << '{'; for (auto &i: x) cerr << (f++ ? "," : ""), __print(i); cerr << "}";} void _print() {cerr << "]\n";} template <typename T, typename... V> void _print(T t, V... v) {__print(t); if (sizeof...(v)) cerr << ", "; _print(v...);} #ifndef ONLINE_JUDGE #define debug(...) cerr << "[" << #__VA_ARGS__ << "] = ["; _print(__VA_ARGS__) #else #define debug(...) #endif // inline void yes() { cout << "YES" << endl; return; } inline void no() { cout << "NO" << endl; return; } template <class T> inline void out(T temp) { cout << temp << endl; return; } // global variables void init() { // initialize } void solve(int case_no) { // implementation int n, k; cin >> n >> k; int a[n]; for (int i = 0; i < n; i++) cin >> a[i]; sort(a, a + n); int ans = a[n - 1] - a[0]; int check[n - 1]; for (int i = 1; i < n; i++) check[i - 1] = a[i] - a[i - 1]; sort(check.begin(), check.end(), greater<int>()); for (int i = 0; i < k; i++) ans -= check[i]; out(ans); } signed main() { ios::sync_with_stdio(false); cin.tie(NULL); cout.tie(NULL); srand(time(NULL)); init(); int t = 1; // cin >> t; for (int i = 1; i <= t; i++) solve(i); } /* * */