Submission #966960

#TimeUsernameProblemLanguageResultExecution timeMemory
966960TheSumurazStove (JOI18_stove)C++17
100 / 100
56 ms5316 KiB
#include <bits/stdc++.h>
#define int long long
using namespace std;
int const siz = 100002;
signed main() {
    int n,k;
    cin>>n>>k;
    int a[n+1];
    vector<pair<int,int>>v;
    v.push_back({1e10,1});
    for (int i = 1; i<=n; i++) {
        cin>>a[i];
        if (i>=2) {
            v.push_back({a[i]-a[i-1],i});
        }
    }
    vector<int>ind;
    sort(v.rbegin(),v.rend());
    for (int i = 0; i<k; i++) {
        ind.emplace_back(v[i].second);
    }
    long long cem = 0,point = 1;
    sort(ind.begin(),ind.end());
    for (int i = 0; i<ind.size()-1; i++) {
        while (ind[i]+1!=ind[i+1]) {
            ind[i]++;
        }
        cem+=a[ind[i]]-a[point]+1;
        point = ind[i]+1;
    }
    cem+=a[n]-a[point]+1;
    cout<<cem;
}

Compilation message (stderr)

stove.cpp: In function 'int main()':
stove.cpp:24:22: 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]
   24 |     for (int i = 0; i<ind.size()-1; i++) {
      |                     ~^~~~~~~~~~~~~
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...