제출 #1333372

#제출 시각아이디문제언어결과실행 시간메모리
1333372mantaggezStove (JOI18_stove)C++20
100 / 100
15 ms2748 KiB
#include <bits/stdc++.h>

using namespace std;
using pii = pair<int, int>;

const int nx = 1e5+5;

int n, k;
vector<int> mn;
vector<pii> adj;

int main()
{
    cin.tie(NULL)->sync_with_stdio(false);
    cin >> n >> k;
    for(int i=1;i<=n;i++)
    {
        int t; cin >> t;
        adj.push_back({t, 0});
        adj.push_back({t + 1, 1});
    }
    // 0 front, 1  back
    for(int i=0;i<adj.size()-1;i++)
    {
        auto [v, pos] = adj[i];
        auto [nv, next] = adj[i + 1];
        if(pos == 1 && next == 0) mn.push_back(nv - v);
    }

    sort(mn.begin(), mn.end());

    int res = n;
    for(int i=0;i<n-k;i++) res += mn[i];

    cout << res ;

    return 0;
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...