【c++】【贪心】排队接水

server/2024/9/22 18:13:56/

排队接水

题目难度:中阶

时间限制:1000ms

内存限制:128MB

题目描述

有 n 个人在一个水龙头前排队接水,假如每个人接水的时间为 Ti,请编程找出这 n 个人排队的一种顺序,使得 n 个人的平均等待接水时间最小(自己接水的时间不计入等待时间)。

输入格式

第一行为一个整数 n。

第二行 n 个整数,第 i 个整数 Ti 表示第 i 个人的接水时间 Ti。

输出格式

输出最小平均等待接水时间(输出结果精确到小数点后两位)。

样例数据
输入样例1
10 
56 12 1 99 1000 234 33 55 99 812
输出样例1
291.90
数据范围

n≤1000,ti≤106,不保证 ti 不重复。


思路:

先了解题目,这是贪心里的一道题,所以用贪心写

其实,很容易就能想到思路,根据每个人的排队时间,从小到大排序

看什么看,你想要进行证明吗?

是这样的,让平均值最小,其实也等于让你找个排序方法,使每个人等待时间总和最小

那怎么最小呢?当然是把时间长的丢到后面,等待时间短的丢到前面(如果把等的长的放前面,就让后面所有人都等了很长时间,还不如换成等的少的)

知道思路,其实代码就很好写了


代码:

#include<bits/stdc++.h>
using namespace std;
int main(){long long n;cin>>n;long long a[n+10],b[n+10];//a记录每人需要的时间,b记录每人等待时间 for(int i=1;i<=n;i++){cin>>a[i];//读入 }sort(a+1,a+n+1);//排序 b[1]=0;//第一个人不用等 for(int i=2;i<=n;i++){b[i]=b[i-1]+a[i-1];//等待时间等于上个人的等待时间+上个人接水时间 }long long cnt=0;//记录总和,计算平均值 for(int i=1;i<=n;i++){cnt+=b[i];}double da=cnt*1.0/n;cout<<fixed<<setprecision(2)<<da;return 0;
}


http://www.ppmy.cn/server/22597.html

相关文章

【机器学习】概率模型在机器学习中的应用:以朴素贝叶斯分类去为例

概率模型在机器学习中的应用&#xff1a;以朴素贝叶斯分类器为例 一、概率模型的基本原理二、朴素贝叶斯分类器的原理与实现三、朴素贝叶斯分类器的应用与挑战四、结论与展望 在大数据与人工智能时代&#xff0c;概率模型在各个领域发挥着至关重要的作用。概率模型以概率论和统…

Hive 单机版

Hive 安装 前提 安装 hadoop Ubuntu 安装、配置 MySQL 安装 sudo apt install mysql-serverMySQL 配置 假如你不知道 root 用户密码&#xff0c; 需要重置 root 密码 sudo passwd root切换到 root 用户 su - root使用命令 mysql 连接数据库 mysql创建用户管理数据库&a…

第一章、概述(计算机网络笔记1)

一、因特网概述 1.1、网络、互联网&#xff08;互连网&#xff09;和因特网 网络&#xff08;Network&#xff09;由若干结点&#xff08;Node&#xff09;和连接这些结点的链路&#xff08;Link&#xff09;组成。这些链路可以是有线链路也可以是无限链路。 多个网络还可以通…

C# Solidworks二次开发:枚举应用实战(第九讲)

大家好&#xff0c;今天还是介绍我们的枚举应用实战系列。 下面是今天要介绍的枚举&#xff1a; &#xff08;1&#xff09;第一个为swsBearingLoadEndEditError_e&#xff0c;这个枚举值的含义为轴承载荷编辑错误&#xff0c;下面是官方的具体枚举值&#xff1a; MemberDesc…

2024-4-28

今日流水账&#xff1a; 上午&#xff1a; 打CTF总不能爆零吧&#xff0c;所以看群里师傅说 D3CTF 的那道 qemu 逃逸很简单&#xff0c;所以就把他给做了然后还是在配内核环境&#xff0c;服了&#xff0c;还是不行捏~~~下午继续配&#xff0c;啊啊啊 好好的思考了一下&#xf…

我们不可能永远都在救火 ——Scrum中技术债

一、定义 技术负债&#xff08;英语&#xff1a;Technical debt&#xff09;&#xff0c;又译技术债&#xff0c;也称为设计负债&#xff08;design debt&#xff09;、代码负债&#xff08;code debt&#xff09;&#xff0c;是编程及软件工程中的借鉴了财务债务的系统隐喻。指…

iOS 常用路径

打adhoc包用的描述文件路径&#xff1a;/Users/biyao/Library/MobileDevice/Provisioning Profiles 本地Apache服务器的地址&#xff1a;/Library/WebServer/Documents 本地ApacheURL&#xff1a;http://localhost/ Xcode-DerivedData&#xff1a;/Users/用户名/Library/Dev…

Linux 第十三章

&#x1f436;博主主页&#xff1a;ᰔᩚ. 一怀明月ꦿ ❤️‍&#x1f525;专栏系列&#xff1a;线性代数&#xff0c;C初学者入门训练&#xff0c;题解C&#xff0c;C的使用文章&#xff0c;「初学」C&#xff0c;linux &#x1f525;座右铭&#xff1a;“不要等到什么都没有了…