# | 제출 시각 | 아이디 | 문제 | 언어 | 결과 | 실행 시간 | 메모리 |
---|---|---|---|---|---|---|---|
541965 | 2022-03-24T21:56:13 Z | DemonLord154 | Stove (JOI18_stove) | C++14 | 0 ms | 0 KB |
#include<iostream> #include<vector> #include<bits/stdc++.h> using namespace std; int main(){ int n,k; cin>>n>>k; vector<int> vec(n); for (int i=0;i<n;i++){ cin>>vec[i]; } sort(vec.begin(),vec.end()); vector<int> intervals; for (int i=1;i<n;i++){ if (vec[i]-vec[i-1]-1>0){ intervals.push_back(vec[i]-vec[i-1]-1); } } sort(intervals.begin(),intervals.end()); if ((int)intervals.size()<k){ cout<<n<<"\n"; } else{ int ans=0; for (int i=0;i<n-k;i++){ ans+=intervals[i]; } cout<<(n+ans)<<"\n"; }