Submission #365998

#TimeUsernameProblemLanguageResultExecution timeMemory
365998Hades504Stove (JOI18_stove)C++14
50 / 100
1055 ms3812 KiB
#include<bits/stdc++.h>
using namespace std;
#define int long long
#define endl "\n"
void solve(){
  int tc,k;
  cin>>tc>>k;
  k--;
  vector<int>v,diff;
  for(int i=0;i<tc;i++){
    int n;
    cin>>n;
    v.push_back(n);
    v.push_back(n+1);
  }
  int ans=0;
  ans+=tc;
  auto st = v.begin();
  v.erase(st);
  auto end = v.end();
  end--;
  v.erase(end);
  for(int i=0;i<v.size();i+=2){
    diff.push_back(v[i+1]-v[i]);
  }
  sort(diff.rbegin(),diff.rend());
  while(k!=0){
    auto it = diff.begin();
    diff.erase(it);
    k--;
  }
  for(int i=0;i<diff.size();i++){
    ans+=diff[i];
  }
  cout<<ans;
}
signed main() {
  ios_base::sync_with_stdio(false); cin.tie(NULL);
  int tc=1;
  for(int i=0;i<tc;i++)solve();
  return 0;
}

Compilation message (stderr)

stove.cpp: In function 'void solve()':
stove.cpp:23:16: warning: comparison of integer expressions of different signedness: 'long long int' and 'std::vector<long long int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   23 |   for(int i=0;i<v.size();i+=2){
      |               ~^~~~~~~~~
stove.cpp:32:16: warning: comparison of integer expressions of different signedness: 'long long int' and 'std::vector<long long int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   32 |   for(int i=0;i<diff.size();i++){
      |               ~^~~~~~~~~~~~
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...