zoukankan      html  css  js  c++  java
  • USACOBarn Repair

    http://ace.delos.com/usacoprob2?a=aGfy6bAUEQK&S=barn1

    额。。。比较水的题,估计没有比我的更短的程序了。。。。

    先用一块木板把全部牛棚盖上,再删去(n-1)个空位,剩下的就是结果了。

    删去(n-1)个空位,剩下n块牛棚,刚好符合要求,而删去的空位要最大就行了

    #include <iostream>
    #include <cstdio>
    #include <string.h>
    #include <algorithm>
    using namespace std;
    
    bool compare(int a,int b)
    {
        return a>b;
    }
    
    int main()
    {
        freopen("barn1.in","r",stdin);
        freopen("barn1.out","w",stdout);
        int n,len,ncow;
        cin>>n>>len>>ncow;
        int a[205]={0};
        for (int i=1;i<=ncow;i++)
            scanf("%d",&a[i]);
        sort(a+1,a+ncow+1);
    
        int sum=a[ncow]-a[1]+1;
        int b[205]={0};
        for (int i=1;i<=ncow-1;i++)  //计算距离差
            b[i]=a[i+1]-a[i]-1;
        sort(b+1,b+ncow,compare);      //距离差排序
        for (int i=1;i<n;i++)             //逐个删去(n-1)个空位
            sum-=b[i];
        cout<<sum<<endl;
        return 0;
    }
  • 相关阅读:
    Cookie
    Servlet请求和响应
    Servlet
    Tomcat
    jQuery
    HTTP协议和ajax
    WebApp制作和正则
    BOM对象和json
    视频和音频
    改变文档结构的方法(5种)
  • 原文地址:https://www.cnblogs.com/ay27/p/2712757.html
Copyright © 2011-2022 走看看