Description

在一个夜黑风高,下着暴风雨的夜晚,农民约翰的牛棚的屋顶、门被吹飞了。 好在许多牛正在度假,所以牛棚没有住满。 剩下的牛一个紧挨着另一个被排成一行来过夜。 有些牛棚里有牛,有些没有。 所有的牛棚有相同的宽度。 自门遗失以后,农民约翰必须尽快在牛棚之前竖立起新的木板。 他的新木材供应商将会供应他任何他想要的长度,但是供应商只能提供有限数目的木板。 农民约翰想将他购买的木板总长度减到最少。 给出:可能买到的木板最大的数目M(1<= M<=50);牛棚的总数S(1<= S<=200); 牛棚里牛的总数C(1 <= C <=S);和牛所在的牛棚的编号stall_number(1 <= stall_number <= S),计算拦住所有有牛的牛棚所需木板的最小总长度。 输出所需木板的最小总长度作为答案。

Input

1 行: M , S 和 C(用空格分开) 2 到 C+1行: 每行包含一个整数,表示牛所占的牛棚的编号。

Output

单独的一行包含一个整数表示所需木板的最小总长度。

Sample Input

4 50 18
3
4
6
8
14
15
16
17
21
25
26
27
30
31
40
41
42
43

Sample Output

25

解题思路:这道题看了好长时间才懂。。。。。就是要给还在牛棚里面的那些牛修建牛棚,修牛棚的木板数是有限的,但是木板长度不受限制,要得到木板的最小
总长度。那么该怎么去安排木板呢?我们知道如果有些有牛的牛棚间隔可能非常的大,要是这些牛棚是一块完整的木板连接着,那么会非常的浪费木板。那么该怎
么办呢?我们可以在这些间隔非常大的牛棚之间不去搭建木板,不是可以有多块木板嘛,有多少木板,我们就能对一些间隔大的牛棚进行限制。
 #include<cstdio>
#include<cstring>
#include<cmath>
#include<algorithm>
using namespace std;
int main()
{
int m,s,c,ans,i;
int a[];
int b[];
ans=;
scanf("%d%d%d",&m,&s,&c);
for(i=;i<c;i++)
{
scanf("%d",&a[i]);
}
sort(a,a+c);///牛棚编号从小到大排序
for(i=;i<c;i++)
{
b[i]=a[i+]-a[i]-;///记录每一个牛棚之间的间隔
}
sort(b,b+c-);///对间隔从小到大排序
for(i=;i<c-m;i++)///对于那些间隔较大的,我们要充分利用有限的木板,不去用木板连接
{
ans+=b[i];
}
printf("%d\n",ans+c);
return ;
}

												

最新文章

  1. java.lang.IllegalStateException:Web app root system property already set to different value 错误原因及解决 Log4j
  2. &ldquo;耐撕&rdquo;团队 2016.04.08 站立会议
  3. 省市区三级联动(二)JS部分简单版
  4. c 函数及指针学习 9
  5. Java 提示 JRE unbound 或者 Tomcat unbound 解决方法
  6. X86平台下嵌入式linux触摸屏解决方案(usb触摸屏控制器+完美校准方案+触摸屏QTE开发环境搭建)
  7. Fixing:insert_modules not found
  8. tomcat 默认项目设置
  9. openfire修改服务器名称方法
  10. ResultSet取结果集多少条记录方法及分页概要
  11. ios 将彩色照片转化成黑白等几种类型
  12. ●BZOJ 2588 Spoj 10628. Count on a tree
  13. Codeforces Round #554 (Div. 2)自闭记
  14. 第四周助教工作总结——NWNU李泓毅
  15. mysql表空间加密 keyring encryption
  16. Linux下强制杀死进程的方法
  17. [原创]Eclipse Memory Analyzer tool(MAT)工个使用介绍
  18. datasnap 如何监控客户端的连接情况
  19. meta标签整理
  20. mysql性能测试-tpcc

热门文章

  1. C++多态之虚函数
  2. Java基础之File类的使用
  3. MongoDB模糊查询 工具
  4. Oracle之plsql及游标
  5. hadoop伪分布式组件安装
  6. Go 学习之路:Println 与 Printf 的区别
  7. 20155202 20155222 信息安全技术概论实验一 PGP的使用
  8. week8课上实践
  9. 20155339 2016-2017-2 《Java程序设计》第十周学习总结
  10. CF 868 F. Yet Another Minimization Problem