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

排队接水

题目难度:中阶

时间限制: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.mfbz.cn/a/581194.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

采用前后端分离Vue,Ant-Design技术开发的(手麻系统成品源码)适用于三甲医院

开发环境 技术架构&#xff1a;前后端分离 开发语言&#xff1a;C#.net6.0 开发工具&#xff1a;vs2022,vscode 前端框架&#xff1a;Vue,Ant-Design 后端框架&#xff1a;百小僧开源框架 数 据 库&#xff1a;sqlserver2019 系统特性 麻zui、护理、PACU等围术期业务全覆…

【机器学习】集成学习---Bagging之随机森林(RF)

【机器学习】集成学习---Bagging之随机森林&#xff08;RF&#xff09; 一、引言1. 简要介绍集成学习的概念及其在机器学习领域的重要性。2. 引出随机森林作为Bagging算法的一个典型应用。 二、随机森林原理1. Bagging算法的基本思想2. 随机森林的构造3. 随机森林的工作机制 三…

3. uniapp开发工具的一些事

前言 新的一天&#xff0c;又要开始卷起来了&#xff0c;开发程序开发当前离不开开发工具&#xff0c;一个好的开发工具办事起来那必然是事倍功半的...本文主要分享了关于uniapp里开发工具的一些事~ 概述 阅读时间&#xff1a;约5&#xff5e;7分钟&#xff1b; 本文重点&am…

Web程序设计-实验04 JavaScript对象

题目 【实验主题】 个人所得税计算 【实验任务】 1、根据【任务提示】和【参考资源】材料&#xff0c;自学2012版月工资、年终奖个人所得税计算规则。 2、新建 .js文件&#xff0c;以JSON格式定义个人所得税对象。 其中属性涉及三个层次&#xff1a; 1&#xff09;第一层…

03-MVC执行流程-参数解析与Model

重要组件 准备Model&#xff0c;Controller Configuration public class WebConfig {ControllerAdvicestatic class MyControllerAdvice {ModelAttribute("b")public String bar() {return "bar";}}Controllerstatic class Controller1 {ResponseStatus(H…

CUDA的基础知识

文章目录 数据精度CUDA概念线程&线程块&线程网络&计算核心GPU规格参数内存 GPU并行方式数据并行流水并行张量并行混合专家系统 数据精度 FP32 是单精度浮点数&#xff0c;用8bit 表示指数&#xff0c;23bit 表示小数&#xff1b;FP16 是半精度浮点数&#xff0c;用…

SpringBoot常用注解与注意事项

Spring Boot 是一个用于快速开发、运行和管理 Spring 应用程序的框架。它大量使用了注解&#xff08;Annotations&#xff09;来简化配置和开发流程。 以下是一些 Spring Boot 中常用的注解及其注意事项&#xff1a; 1.常用注解 SpringBootApplication 这是一个组合注解&#…

OpenHarmony 项目实战:智能体重秤

一、简介 本 demo 基于 OpenHarmony3.1Beta 版本开发&#xff0c;该样例能够接入数字管家应用&#xff0c;通过数字管家应用监测体重秤上报数据&#xff0c;获得当前测量到的体重&#xff0c;身高&#xff0c;并在应用端形成一段时间内记录的体重值&#xff0c;以折线图的形式…

vivado Aurora 8B/10B IP核(4)-数据流接口(Streaming Interface)

Streaming 接口 Transmitting and Receiving Data&#xff08;发送和接收数据&#xff09; 流式接口允许将Aurora 8B/10B通道用作管道。 初始化后&#xff0c;通道始终可用于写入&#xff0c;除非发送时 钟补偿序列。 核心数据传输符合AXI4-Stream协议。当s_axi_tx_tvalid被取…

OpenHarmony 实战开发——分布式购物车案例展示~

简介 分布式购物车demo 模拟的是我们购物时参加满减活动&#xff0c;进行拼单的场景&#xff1b;实现两人拼单时&#xff0c;其他一人添加商品到购物车&#xff0c;另外一人购物车列表能同步更新&#xff0c;且在购物车列表页面结算时&#xff0c;某一人结算对方也能实时知道结…

基于单片机的多功能电子万年历系统

摘要:该题目要求学生综合运用单片机原理、低频电子线路、数字电路与逻辑设计等相关知识,设计完成多功能电子万年历系统。通过完成设计任务,使学生掌握单片机设计开发的基本流程,增强学生动手实践能力,培养学生分析和解决实际问题的能力,为后续课程的学习和工作打下良好基础。 关…

特征的前期融合与后期融合在召回、粗排、精排应用

前期融合&#xff1a;先对所有特征做concat&#xff0c;再输入DNN&#xff0c;一般常见于精排模型 特点&#xff1a;线上推理代价大&#xff0c;若有n个候选item需要做n次模型计算 后期融合&#xff1a;把用户和物品特征分别输入不同的神经网络&#xff0c;不对用户和物品做融…

基于Springboot的玩具租赁系统(有报告)。Javaee项目,springboot项目。

演示视频&#xff1a; 基于Springboot的玩具租赁系统&#xff08;有报告&#xff09;。Javaee项目&#xff0c;springboot项目。 项目介绍&#xff1a; 采用M&#xff08;model&#xff09;V&#xff08;view&#xff09;C&#xff08;controller&#xff09;三层体系结构&…

多用户商城系统哪个好,2024多用户商城系统这样选

在2024年选择适合的多用户商城系统是一项至关重要的决策&#xff0c;因为一个优秀的商城系统不仅可以提升用户体验&#xff0c;还能够帮助企业实现业务目标并取得长期成功。然而&#xff0c;在众多的选择中挑选出最适合的一个并不容易&#xff0c;需要综合考虑各种因素&#xf…

static page 项目

static page 项目 作者&#xff1a;不染心 博客地址&#xff1a;https://blog.csdn.net/qq_38234785 源码地址&#xff1a;https://mbd.pub/o/bread/ZpWVlJps 未经允许&#xff0c;不得转载 文档版本v1&#xff0c;还没写完持续更新 一、引言 1. 软件概述和背景 本软件是…

Python-软件设计-“帮助”小孩子自我行为(电脑端看短视频)约束

目录 前言一、方式一&#xff1a;网站访问拦截二、方式二&#xff1a;SW(电脑软件简称)启动拦截三、使用代码的方式将方式一和方式二结合成自动化程序部署四、其他拓展知识1.程序打包2、开机自启文件夹 五、报错的解决方式1、打包成软件后&#xff0c;运行那个软件时不执行或报…

【论文阅读】ViTAE:Vision transformer advanced by exploring intrinsic inductive bias

ViTAE:Vision transformer advanced by exploring intrinsic inductive bias 论文地址摘要&#xff1a;简介&#xff1a;3 方法论3.1 重温视觉变压器3.2 ViTAE3.3 缩减单元3.4 Normal cell3.5 模型细节 4 训练4.1 Implementation details4.2 Comparison with the state-of-the-…

Linxu系统服务管理,systemd知识/进程优先级/平均负载/php进程CPU100%怎么解决系列知识!

shell脚本&#xff08;命令&#xff09;放后台 sleep 300& 放到后台运行&#xff0c;脚本或命令要全路径 nohup&#xff1a;用户推出系统进程继续工作 【功能说明】 nohup 命令可以将程序以忽略挂起信号的方式运行起来&#xff0c;被运行程序的输出信息将不会显示到终端 如…

华为鸿蒙应用--封装通用标题栏:CommonTitleBar(鸿蒙工具)-ArkTs

0、效果图 自定义通用标题栏 支持左、中、右常规标题栏设置&#xff1b; 支持自定义视图&#xff1b; 支持搜索功能 一、CommTitleBar代码 import router from ohos.router; import { Constants } from ../../constants/Constants; import { StyleConstants } from ../../…

PostgreSQL 把多余字段转JSON

核心SQL&#xff1a; json_agg(json_build_object(kgrq, a.kgrq, jgrq, a.jgrq, sgdd, a.sgdd))
最新文章