USACO1.3 修理牛棚

简介: USACO1.3 修理牛棚

题目:

题目描述

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

输入

第 1 行: M , S 和 C(用空格分开)

第 2 到 C+1行: 每行包含一个整数,表示牛所占的牛棚的编号

输出

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

[ 一种最优的安排是用板拦住牛棚3-8,14-21,25-31,40-43.]

样例输入


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

样例输出

25

解题思路:这个题如果想清楚之后发现很简单,要求所用牛棚的最小总长度其实就是要把所有的木板全部用上并且把牛棚之间的差距算出来然后去把差距大的地方不用木板。

程序代码:

#include<iostream>
#include<stdio.h>
#include<algorithm>
using namespace std;
int a[1300],b[1300];
int main()
{
    int m,i,j,s,c,t,sum,sun=0;
    scanf("%d%d%d",&m,&s,&c);
    for(i=1;i<=c;i++)
        scanf("%d",&a[i]);
    sort(a+1,a+c+1);//注意这个地方是从第一个到第c个
    for(i=1;i<=c;i++)
        b[i]=a[i+1]-a[i]-1;
    sort(b+1,b+c);
    for(i=1;i<m;i++)
        sun+=b[c-i];
    sum=a[c]-a[1]-sun+1;
    printf("%d\n",sum);
    return 0;
}
相关文章
|
算法 数据安全/隐私保护
对称密钥加密算法和公开密钥加密算法有什么区别
【4月更文挑战第19天】对称密钥和公开密钥加密算法各有特点:对称密钥加密速度快,适用于大量数据,但密钥管理困难;公开密钥加密安全性高,密钥管理方便,但速度慢,常用于数字签名和身份验证。两者在不同场景下有不同优势。
949 6
|
算法 网络协议 Linux
【Cisco Packet Tracer】交换机的自学习算法
【Cisco Packet Tracer】交换机的自学习算法
600 0
|
2月前
|
人工智能 自然语言处理 搜索推荐
2025年AI Agent客服机器人深度测评:五款主流厂商对话流畅度、理解能力横向测评
2025年AI Agent客服进入“元年”,企业选型从简单问答转向深度理解与流畅交互。本文构建四大测评维度,横向对比五款主流产品,揭示AI客服向“可执行任务的AI员工”演进趋势,助力企业智能转型决策。
|
Cloud Native 关系型数据库 分布式数据库
2024最新一期中国数据库流行榜公布:阿里云PolarDB登顶
PolarDB登顶国产数据库流行榜,持续引领云原生数据库创新
2024最新一期中国数据库流行榜公布:阿里云PolarDB登顶
|
数据可视化 数据挖掘 项目管理
快速实现团队效率提升:五大杀手级企业管理工具推荐
在现代企业管理中,快速响应和高效协作是团队成功的关键。本文推荐五款“杀手级”企业管理工具:板栗看板、Trello、Asana、ClickUp 和 Monday.com,分别介绍它们的功能、易用性、优缺点及适用场景,帮助团队提升协作和工作效率。
216 3
|
分布式计算 资源调度 Ubuntu
MapReduce程序运行部署的几种方式 - 结尾附源码
MapReduce程序运行部署的几种方式 - 结尾附源码
485 0
|
JavaScript 前端开发 测试技术
JS三大运行时全面对比:Node.js vs Bun vs Deno
JS三大运行时全面对比:Node.js vs Bun vs Deno
638 0
|
前端开发 JavaScript 机器人
详解《基于 javascript 的流程图编辑框架LogicFlow
详解《基于 javascript 的流程图编辑框架LogicFlow
2555 0
|
设计模式 监控 算法
爱了爱了!阿里爆款Java性能优化神仙笔记!调优不止JVM
Java性能优化,它存在的理由有很多。计算机面对海量数据或者任务时,无论如何你都会碰到性能压力,唯一的选择是你会把这个压力放在哪一层或者哪一个位置来应对,以及采取什么应对措施。程序凑合着上线是一回事,而在压力下能够优美地运行往往很不容易。
|
编解码 安全 Android开发
AirServer2023专业的投屏软件,支持安卓、苹果手机投屏至电脑
AirServer一款专业的投屏软件,支持安卓、苹果手机投屏至电脑,畅享办公、教学、直播、会议、游戏、2K高清投屏详细的投屏教程让投屏更加简单,同时支持多设备投屏、不需要中间的转换设备,可以直接进行投屏,并且可以由用户自定义投屏图像的分辨率。AirServer可以保证文件传输的安全以及可靠!AirServer是一个Mac专用投屏工具,功能强大,并且可以通过网络和其他平台同步视频内容。可以使用多个设备进行投屏,快速查看同一局域网内的视频。支持的设备:苹果系统。支持 Windows、 Mac、 Android、 iOS、 windows平台。
578 0