首页 > 其他分享 >P1223 排队接水

P1223 排队接水

时间:2022-10-30 21:01:28浏览次数:39  
标签:nn iTi int 排队 water 等待时间 P1223

题目描述

有 nn 个人在一个水龙头前排队接水,假如每个人接水的时间为 T_iTi​,请编程找出这 nn 个人排队的一种顺序,使得 nn 个人的平均等待时间最小。

输入格式

第一行为一个整数 nn。

第二行 nn 个整数,第 ii 个整数 T_iTi​ 表示第 ii 个人的等待时间 T_iTi​。

输出格式

输出文件有两行,第一行为一种平均时间最短的排队顺序;第二行为这种排列方案下的平均等待时间(输出结果精确到小数点后两位)。

输入输出样例

输入 #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

说明/提示

n \leq 1000,t_i \leq 10^6n≤1000,ti​≤106,不保证 t_iti​ 不重复。

当 t_iti​ 重复时,按照输入顺序即可(sort 是可以的)

 

 1 #include<bits/stdc++.h>
 2 using namespace std;
 3 struct water{
 4     int time;
 5     int sequence;
 6 }t[1001];
 7 bool cmp(water a,water b){
 8     return a.time<b.time;
 9 }
10 int main(){    
11     freopen("in.txt","r",stdin);
12     int n; 
13     double sum=0,totalsum;
14     cin>>n;
15     for(int i=1;i<=n;i++){
16         cin>>t[i].time;
17         t[i].sequence=i;        
18     }    
19     sort(t+1,t+n+1,cmp);
20     
21     for(int i=1;i<=n;i++){
22         sum+=t[i].time;
23         if(i!=n)
24             totalsum+=sum;
25         cout<<t[i].sequence<<" ";
26     }
27     double average=totalsum/n;
28     cout<<endl;
29     cout<<fixed<<setprecision(2)<<average;
30     return 0;
31 }

 

标签:nn,iTi,int,排队,water,等待时间,P1223
From: https://www.cnblogs.com/geyang/p/16842218.html

相关文章

  • 银行排队问题之单队列多窗口服务
    假设银行有K个窗口提供服务,窗口前设一条黄线,所有顾客按到达时间在黄线后排成一条长龙。当有窗口空闲时,下一位顾客即去该窗口处理事务。当有多个窗口可选择时,假设顾客总是选......
  • acwing913. 排队打水
    acwing913.排队打水原题链接:https://www.acwing.com/problem/content/description/915/思路贪心的题:1.猜想2.证明自己的猜想猜想:所有数从小到大排序,总的等待时间最小......
  • 火柴排队
    P1966[NOIP2013提高组]火柴排队-洛谷|计算机科学教育新生态(luogu.com.cn)将两数组排序,(排序前要记录每个数对应的下标,之后会用到)排好序之后两个数组就是理想的......
  • P1966 [NOIP2013 提高组] 火柴排队做题笔记
    这题和P5677一样,是从树状数组题单里翻出来的,由于开始看时感觉题解代码写的不是很清晰,就先放进了做题计划里,后来几次看这道题,但由于第一次看题可能留下了一些心理阴影以及......
  • P1966 [NOIP2013 提高组] 火柴排队
    有两盒火柴,每盒装有\(n\)根火柴,每根火柴都有一个高度。现在将每盒中的火柴各自排成一列,同一列火柴的高度互不相同。其中\(a_i\)表示第一列火柴中第\(i\)个火柴的高......
  • 排队等候
    https://www.acwing.com/problem/content/description/1488/思路:依然核心问题是:搞经常模拟的是什么东西,如果这题模拟时间,会很烦,但模拟队列的情况,会简单很多。#include......