当前位置: 首页 > news >正文

题单:排队接水1

题目描述

有 nn 个人在一个水龙头前排队接水,假如每个人接水的时间为 TiTi​。

按输入的顺序,将 nn 个人的接水时间从 1∼n1∼n 进行编号。

请编程找出这 nn 个人排队的一种顺序,使得 nn 个人的平均等待时间最小。

输入格式

第一行为 nn;

第二行分别表示第 11 个人到第 nn 个人每人的接水时间 T1T1​、T2T2​、…、TnTn​,每个数据之间有 11 个空格。

输出格式

输出有两行,第一行为一种排队顺序,即 11 到 nn 的一种排列;

第二行为这种排列方案下的平均等待时间(输出结果精确到小数点后两位)。

样例 #1

样例输入 #1

10 
56 12 1 99 1000 234 33 55 99 812

样例输出 #1

3 2 7 8 1 4 9 6 10 5
291.90

提示

对于 100%100% 的数据:1≤n≤100001≤n≤10000,1≤Ti≤1061≤Ti​≤106,不保证 TiTi​ 不重复。

当 TiTi​ 重复时,按照输入顺序即可(即编号小的在前

#include<bits/stdc++.h>
#include<iomanip>
using namespace std;
struct node{
	int id;
	int time;
}a[100055];
bool cmp(node x,node y)
{
	return x.time<y.time||x.time==y.time&&x.id<y.id;
}
int main(){
	int n;
	cin>>n;
	for(int i=1;i<=n;i++)
	{
		a[i].id=i;
		cin>>a[i].time;
	} 
	double ans=0;
	sort(a+1,a+n+1,cmp);
	for(int i=1;i<=n;i++)
	{
		ans+=(n-i)*a[i].time;
		cout<<a[i].id<<" ";
	}
	cout<<endl;
	cout<<fixed<<setprecision(2)<<ans/n;
	return 0;
}

http://www.dtcms.com/a/84161.html

相关文章:

  • ORACLE RAC ASM双存储架构下存储部分LUN异常的处理
  • 基于springboot的电影院管理系统(源码+lw+部署文档+讲解),源码可白嫖!
  • 4-Taurus平台 LCD驱动支持DRM框架移植
  • Spring事务失效场景
  • android音频概念解析
  • mybatisplus雪花算法id重复日记
  • PicFlow:一个图片处理与上传工作流工具(图床上传工具)
  • Debian12生产环境配置笔记
  • systemctl restart 和 systemctl reload 和 systemctl daemon-reload 对比 笔记250322
  • SOFABoot-10-聊一聊 sofatboot 的十个问题
  • QEMU 引导时分离内核和文件系统
  • Collectors.toList / list 转 list
  • Netty——BIO、NIO 与 Netty
  • 第十六章:Specialization and Overloading_《C++ Templates》notes
  • ‌App Store美学竞争:如何通过广告素材分析实现ASO弯道超车‌
  • 基于Spring Boot 的在线教育系统(源码+lw+部署文档+讲解),源码可白嫖!
  • PRODIGY: “不折腾人”的蛋白-蛋白/蛋白-小分子结合能计算工具
  • SEO长尾关键词精准布局
  • 为什么后端路由需要携带 /api 作为前缀?前端如何设置基础路径 /api?
  • 批量图片压缩工具,高效减小文件大小并保持质量
  • deepSeek-SSE流式推送数据
  • OAuth 2.0认证
  • UE4学习笔记 FPS游戏制作12 添加第二把枪,制作枪的父类,动态生成物体,切换武器
  • 使用外部事件检测接入 CDH 大数据管理平台告警
  • 能不能解释一下 ,什么是React 的错误边界?
  • K8S学习之基础四十三:k8s中部署elasticsearch
  • hexo+butterfly搭建博客网站总结篇
  • 【大模型基础_毛玉仁】3.5 Prompt相关应用
  • 常考计算机操作系统面试习题(三下)
  • Y20030018基于Java+Springboot+mysql+jsp+layui的家政服务系统的设计与实现 源代码 文档