AcWing 1349. 修理牛棚
原题链接
中等
作者:
sy123
,
2021-01-11 17:42:10
,
所有人可见
,
阅读 351
#include<bits/stdc++.h>
using namespace std;
const int N=210;
int m,s,c;
int a[N];
struct node{
int l,r;
int sum;
bool operator<(const node&a)const{
return sum>a.sum;
}
}t[N];
int main(){
cin>>m>>s>>c;
for(int i=1;i<=c;i++)cin>>a[i];
sort(a+1,a+c+1);
int k=0;
for(int i=2;i<=c;i++){
int b;
b=a[i-1];
t[k++]={b,a[i],a[i]-b};//相邻的点之间的间隙
}
sort(t,t+k);
int cnt=0;
for(int i=0;i<m-1&&i<c-1;i++){
cnt+=t[i].sum-1;
}
int ans=(a[c]-a[1]+1)-cnt;
cout<<ans<<endl;
return 0;
}