Submission #645190

#TimeUsernameProblemLanguageResultExecution timeMemory
645190lucky_c25Stove (JOI18_stove)C++14
100 / 100
63 ms2212 KiB
    #include <iostream>
    #include <algorithm>
    #include <vector>
     
    using namespace std;
     
    int main()
    {
        int n,k; cin>>n>>k;

        vector<int> a(n),razlike;

        cin>>a[0];
        int spojene = 0;
        for(int i = 1;i<n;i++){
            cin>>a[i];
            if(a[i] == a[i-1]+1)
                spojene++;
            
            else if(a[i] > a[i-1]+1){
                razlike.push_back(a[i] - a[i-1]-1);
            }
        }

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

        int m = n-spojene;

        //cout<<m-k<<"\n";
        if(m<=k) cout<<n<<endl;

        else{
            for(int i = 0;i<m-k;i++){
                n+=razlike[i];
            }
            cout<<n<<endl;
        }

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