问题描述
有n个人排队到r个水龙头去打水,他们装满水桶的时间t1、t2………..tn为整数且各不相等,应如何安排他们的打水顺序才能使他们总共花费的时间最少?
输入格式
第一行n,r (n<=500,r<=75)
第二行为n个人打水所用的时间Ti (Ti<=100);
输出格式
最少的花费时间
样例输入
3 2
1 2 3
样例输出
7
数据规模和约定
其中80%的数据保证n<=10

分析:按照时间从大到小的顺序排序后即为打水的顺序~每个人依次进入队列1…r、1…r、1…r……对于前面可以排满的且不是队列最后一排的人,每排满一行,总时间等于自身打水的时间加上前面所有人打水的时间~对于每个队列的最后一个人(或者倒数第二个人),总时间等于自身打水的时间加上前面这一列所有人打水的时间~

#include <iostream>
#include <cstdio>
#include <algorithm>
using namespace std;
int main() {int n, r;scanf("%d %d", &n, &r);int *a = new int[n];for(int i = 0; i < n; i++) {scanf("%d", &a[i]);}sort(a, a+n);int ans = 0;int cnt = n/r;int index = 0;while(cnt--) {for(int j = 0; j < index; j++)ans += a[j];for(int i = 0; i < r; i++)ans += a[index++];}while(index < n) {int t = index % r;while(t < n) {ans += a[t];t += r;}index++;}cout << ans;delete [] a;return 0;
}

蓝桥杯 ADV-148算法提高 排队打水问题(贪心)相关推荐

  1. 算法提高 排队打水问题 无聊刷个水题

    算法提高 排队打水问题 时间限制:1.0s 内存限制:256.0MB 提交此题 问题描述 有n个人排队到r个水龙头去打水,他们装满水桶的时间t1.t2---..tn为整数且各不相等,应如何安排他们的打 ...

  2. [蓝桥杯]测试题 E 算法提高 我们的征途是星辰大海 题解和C++示例代码

    E 算法提高 我们的征途是星辰大海 时间限制:1.0s   内存限制:256.0MB 最新的火星探测机器人curiosity被困在了一个二维迷宫里,迷宫由一个个方格组成. 共有四种方格: '.' 代表 ...

  3. 蓝桥杯题库 算法提高非vip部分(C++、Java)代码实现(251-280)

    文章目录 ADV-251 Petri Net Simulation cpp: java: ADV-252 Navigation cpp: ADV-256 The Sky is the Limit cp ...

  4. 【蓝桥杯练习】算法提高 贪吃的大嘴

    问题描述 给定N个物品,每个物品有一个重量W和一个价值V.你有一个能装M重量的背包.问怎么装使得所装价值最大.每个物品只有一个. 输入格式 输入的第一行包含两个整数n, m,分别表示物品的个数和背包能 ...

  5. 【预览】蓝桥杯竞赛python算法笔记 代码模板|吐血总结|蓝桥杯省赛国赛

    [预览]蓝桥杯竞赛python算法笔记 代码模板|吐血总结 完整版链接 文章目录 [预览]蓝桥杯竞赛python算法笔记 代码模板|吐血总结 1 二分算法求分界值 2 双指针算法 2.1 求最长的不包 ...

  6. 蓝桥杯:试题 算法训练 Remember the A La Mode

    蓝桥杯:试题 算法训练 Remember the A La Mode 资源限制 时间限制:1.0s 内存限制:256.0MB 问题描述 Hugh Samston经营着一个为今年的ICPC世界总决赛的参 ...

  7. 【完整版】蓝桥杯竞赛python算法笔记 代码模板|吐血总结|蓝桥杯省赛国赛

    蓝桥杯竞赛python算法笔记 代码模板|吐血总结 文章目录 蓝桥杯竞赛python算法笔记 代码模板|吐血总结 1 二分 1.1 二分求最大满足(check红色条件) 1.2 二分求最小满足(che ...

  8. 蓝桥杯之Python算法设计系列(二)

    目录 基础算法案例 全套资源点击此处下载 1.特殊回文数 2.特殊回文数 3.A+B案例 4.数组排序 5.序列求和 6.十六进制转八进制 7.十六进制转十进制 8.查找数字出现次数 9.水仙花 10 ...

  9. 蓝桥杯,ACM算法视频及文档资料『免费送』

    欢迎大家加入CSDN-蓝桥杯竞赛社区 https://bbs.csdn.net/forums/lanqiaobei 以下介绍为蓝桥杯参赛视频学习教程资料,以及ACM等高级算法竞赛的高级算法进阶课程(看 ...

最新文章

  1. CentOS 6 使用 OpenLDAP 认证
  2. Python之面向对象进阶
  3. 面试:Spring Boot 中的条件注解底层是如何实现的?
  4. Intent 匹配规则
  5. java程序员面试需要注意什么_Java程序员面试时要注意的一些问题
  6. iOS项目开发实战——制作视图的缩放动画
  7. 虚拟机服务器配置毕业论文,基于Vmware的服务器虚拟化管理-毕业论文.doc
  8. 相亲交友小程序制作方案
  9. Word文档A4如何打印成A3
  10. 使用文本编辑器来写Python代码
  11. Minecraft 材质包制作入门 保姆级教程 (一)
  12. petalinux-build 报错解决
  13. c语言 字符转二进制输出,C语言 如何把一个ASCII码转换为二进制输出?
  14. 创意h5案例作品展示:谁是王牌拆弹专家
  15. SQL SERVER | 错误处理 INSERT 语句与 FOREIGN KEY SAME TABLE 约束“FK__Course__Cpno__276EDEB3“冲突。(补充)
  16. OTG – Android USB Hos
  17. webpack之常见性能优化
  18. 计算机毕业设计,java+mysql毕业设计 ,动漫论坛
  19. ACM投稿版权信息去除问题
  20. 杀疯了,GitHub疯传2022Java面试八股文解析+大厂面试攻略

热门文章

  1. 单反相机的常用的几个参数之间的关系
  2. android 音乐播放器----获取专辑封面图片
  3. PHP 5.4.8 添加系统服务命令
  4. [Python]输入与输出
  5. 自己手写一个Spring MVC框架
  6. [原][osgearth]osgearthviewer读取earth文件,代码解析(earth文件读取的一帧)
  7. 协同过滤及大数据处理
  8. Drupal 紧急修复已遭利用的严重 0day
  9. 微软警告:警惕新型勒索软件 PonyFinal,已现身印度、伊朗和美国
  10. MFC如何让输入框只能输入数字