1 条题解

  • 3
    @ 2023-3-11 16:34:22
    #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

    信息

    ID
    230
    时间
    1000ms
    内存
    64MiB
    难度
    3
    标签
    递交数
    25
    已通过
    22
    上传者