1 solutions
-
3
#include<bits/stdc++.h> using namespace std; int a[1005],b[1005],m,s,c,i,ans; bool cmp(int a,int b){ //从大往小排 return a>b; } int main(){ //freopen("barn1.in","r",stdin); //freopen("barn1.out","w",stdout); cin>>m>>s>>c; for(i=1;i<=c;i++) cin>>a[i]; sort(a+1,a+c+1); for(i=1;i<=c-1;i++) b[i]=a[i+1]-a[i]-1; //算Ci到Ci+1的距离 sort(b+1,b+c,cmp); ans=a[c]-a[1]+1; //ans最差情况,即赋初值 for(i=1;i<m&&i<c;i++) ans-=b[i]; //循环算答案 cout<<ans; //输出 return 0; }
- 1
Information
- ID
- 230
- Time
- 1000ms
- Memory
- 64MiB
- Difficulty
- 3
- Tags
- # Submissions
- 25
- Accepted
- 22
- Uploaded By