AcWing 1349. 修理牛棚
原题链接
中等
作者:
geats兔
,
2024-04-12 23:52:30
,
所有人可见
,
阅读 1
C++ 代码
#include<iostream>
#include<algorithm>
#include<vector>
using namespace std;
const int N=220;
int a[N],b[N];
vector<int> v;
int main()
{
int m,s,c;
cin>>m>>s>>c;
for(int i=0;i<c;i++)
cin>>a[i];
sort(a,a+c);
int len=a[c-1]-a[0]+1;
for(int i=1;i<c;i++)
{
int d=a[i]-a[i-1]-1;
if(d>0)
v.push_back(d);
}
sort(v.begin(),v.end(),greater<int>());
int cnt=0;
for(auto &t:v)
{
if(cnt>=m-1||cnt>=c-1)
break;
len-=t;
cnt++;
}
cout<<len<<endl;
return 0;
}