Submission #164797

#TimeUsernameProblemLanguageResultExecution timeMemory
164797cbertramStove (JOI18_stove)C++14
100 / 100
89 ms2420 KiB
#include <bits/stdc++.h>
using namespace std;

typedef long long int ll;
typedef pair<int,int> pii;
typedef pair<ll,ll> pll;
typedef vector<bool> vb;
typedef vector<int> vi;
typedef vector<ll> vll;
typedef vector<pii> vpii;
typedef vector<pll> vpll;
typedef vector<string> vs;
typedef vector<vb> vvb;
typedef vector<vi> vvi;
typedef vector<vll> vvll;
#define all(x) x.begin(), x.end()
#define rep(i,a,b) for(int i = a; i < b; i++)

int main() {
  int N, K;
  cin >> N;
  cin >> K;
  vi gs(N);
  rep(n,0,N) cin >> gs[n];
  sort(all(gs));
  vi gaps(0);
  rep(n,0,N-1) {
    if(gs[n]+1 < gs[n+1])
      gaps.push_back(gs[n+1]-gs[n]-1);
  }
  sort(all(gaps), greater<>());
  int ontime = N == 1 ? 1 : gs[N-1]-gs[0]+1;
  for(int k = 0; k < K-1 && k < (int)gaps.size(); k++) ontime -= gaps[k];
  cout << ontime << '\n';
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...