uva10073 潜水比赛
【问题描述】 在马其顿王国的ohide湖里举行了一场潜水比赛.其中一个项目是从高山上跳下水,再潜水到达终点.这是一个团体项目,一支队伍由n个人组成.在潜水时必须使用氧气瓶,但是每支队伍只有一个氧气瓶.最多两个人同时使用一个氧气瓶,但此时两人必须同步游泳,因此到达终点的时间等于较慢的一个单独游到终点所需要的时间.好在大家都很友好,因此任何两个人都愿意一起游泳.安排一种潜水策略,使得最后一名选手尽早到达终点。【输入格式】 第1行:一个整数n,表示队伍的人数。以下n行,每行一个整数,表示第i个人游到终点的时间Ti。【输出格式】 队伍最早到达终点的时间。【样例输入1】3134【样例输入2】6125689 【样例输出1】8【样例输出2】27
【数据范围】 n<=1000, 0<Ti<=100000很清楚地是:
如果只有1人,则ans=a[1];
如果只有2人,则ans=max(a[1],a[2]);
如果只有3人,则ans=a[1]+a[2]+a[3];
不难想到有两种方法
1.用速度最快的人来回一个一个地运人
2.用最快的两个人来回运完最慢的两个(1、2过河;1返回;最慢两个过河;2返回;1、2过河)
先按速度排序,每次从第三、四个人开始运,用两种方法中时间短的一种加到ans中(注意中途需要加上一个已过河的a[1]或a[2]返回用的时间,因为下一次需要他们在起点)。直到只有4个人或3个人,此时就很好计算了。
#include<cstdio>
#include<algorithm>
#define maxn 1005
using namespace std;
int n,ans=0,a[maxn];;int read()
{int x=0,ok=0;char ch;ch=getchar();while((ch<'0'||ch>'9')&&ch!='-') ch=getchar();while((ch>='0'&&ch<='9')||ch=='-'){if(ch=='-') ok=1;else x=x*10+ch-'0';ch=getchar();} return ok==1?-x:x;
}void in()
{n=read();for(int i=1;i<=n;i++)a[i]=read();sort(a+1,a+n+1);}void task()
{int t=n-1;while(1){if(n==1){ans+=a[1];break;}if(n==2){ans+=a[1]+a[2];break;}if(n==3){ans+=a[1]+a[2]+a[3];break;}if(n==4){ans+=min(a[t]+a[1]+a[t+1]+a[2]+a[1],a[2]+a[1]+a[t+1]+a[2]+a[2]);break;}ans+=min(a[t]+a[1]+a[t+1]+a[1],a[2]+a[1]+a[t+1]+a[2]);t-=2;n-=2;}printf("%d",ans);
}int main()
{freopen("in.txt","r",stdin);in();task();return 0;
}
uva10073 潜水比赛相关推荐
- 《算法艺术与信息学竞赛》题目-提交方式对照表 [转]
id title how2submit source page 1 盒子里的气球 8 2 图书馆 ural1188 9 3 钓鱼 uva757 pas 13 4 照亮的 ...
- VoxEdit 创作比赛获奖者 NFT 集合上线市场平台
VoxEdit 创作比赛中的最佳资产! VoxEdit 创作比赛是向世界展示你的设计技能的最佳机会!The Sandbox 团队从以下主题大赛中挑选了几十个优质作品,一起来看看吧: Voxelize ...
- 潜水党回馈牛友,算法工程师2017年学习,实习,秋招总结
写在前面: 本人万年潜水党.在牛客网暗中观察了很长时间,也得到了很多有用的信息和帮助.一直计划最后写一篇文章回馈牛客.最近一段时间就是忙完了秋招忙论文.然后就是忙着玩.拖到现在终于赶在2018年到来之 ...
- LeetCode简单题之棒球比赛
题目 你现在是一场采用特殊赛制棒球比赛的记录员.这场比赛由若干回合组成,过去几回合的得分可能会影响以后几回合的得分. 比赛开始时,记录是空白的.你会得到一个记录操作的字符串列表 ops,其中 ops[ ...
- LeetCode简单题之比赛中的配对次数
题目 给你一个整数 n ,表示比赛中的队伍数.比赛遵循一种独特的赛制: 如果当前队伍数是 偶数 ,那么每支队伍都会与另一支队伍配对.总共进行 n / 2 场比赛,且产生 n / 2 支队伍进入下一轮. ...
- 计算机图画大赛作品六年级,小学学生电脑绘画比赛活动方案
<小学学生电脑绘画比赛活动方案>由会员分享,可在线阅读,更多相关<小学学生电脑绘画比赛活动方案(7页珍藏版)>请在人人文库网上搜索. 1.坊庄小学学生电脑绘画比赛活动方案为切实 ...
- 【AHOI 2016初中组】 自行车比赛 - 贪心
题目描述 小雪非常关注自行车比赛,尤其是环滨湖自行车赛.一年一度的环滨湖自行车赛,需要选手们连续比赛数日,最终按照累计得分决出冠军.今年一共有 N 位参赛选手.每一天的比赛总会决出当日的排名,第一名的 ...
- BestCoder Round #92 比赛记录
上午考完试后看到了晚上的BestCoder比赛,全机房都来参加 感觉压力好大啊QAQ,要被虐了. 7:00 比赛开始了,迅速点进了T1 大呼这好水啊!告诉了同桌怎么看中文题面 然后就开始码码码,4分1 ...
- 南大电子机器人入驻云南_云南大学外语协会 英文歌曲演唱比赛
云南大学外语协会 英文歌曲演唱比赛顺利落幕 2020年11月8日14:30,云南大学外语协会英文歌曲演唱比赛在文汇楼2116顺利开展.比赛流程简洁明了:参赛同学完成抽签之后,在主持人的引导下,按照流 ...
最新文章
- iOS传感器:实现一个随屏幕旋转的图片
- Cookie安全漫谈
- HTML中label的两种使用方法
- hdu 5639(区间dp)
- delve 调试带参数_带你学够浪:Go语言基础系列-环境配置和 Hello world
- 已收藏!民生银行2021春招笔试后多久面试
- Sublime 格式化 JSON
- apereo cas mysql_史上最详细的 Apereo CAS 5.3开发教程:二、Apereo CAS 5.3 Server环境搭建,登录名,密码从数据库中获取...
- 基于Ansible和CodeDeploy的DevOps解决方案
- VS Code 代码格式化
- 【爬虫】使用八爪鱼爬行百度地图美食店数据
- 力扣438题找到字符串中所有字母异位词
- html网页制作提交注册信息,利用HTML表单标签编写一个注册页面
- Java300集零基础自学
- Wps日期时间格式转文本、科学计数法转数字
- [ Linux ] 零散文件系统安装各种命令和软件的方法
- Page Size 【转】
- HTML标签 链接 CSS样式
- 计算机新时代作文,网络新时代作文范文
- Python等级考试一道关于血压的综合题解析