P1223 排队接水

题目链接 https://www.luogu.com.cn/problem/P1223

呃。。。。。。是一道很水的题。。。。

不过好像是第一次用双关键字排序(?)

关于为什么是将所用时间从小到大排序,初中学不等式应该证明过→https://www.luogu.com.cn/blog/user26231/solution-p1223


放AC代码

复制代码
 1 #include<bits/stdc++.h>
 2 using namespace std;
 3 struct a
 4 {
 5     int t;
 6     int num;
 7 };
 8 bool cmp(a x,a y)//双关键字排序
 9 {
10     if(x.t!=y.t) return x.t<y.t;
11     return x.num<y.num;
12 }
13 int main()
14 {
15     struct a a[1010];
16     int n;
17     double time=0;
18     cin>>n;
19     for(int i=1;i<=n;i++)
20     {
21         cin>>a[i].t;
22         a[i].num=i;
23     }
24     sort(a+1,a+n+1,cmp);
25     for(int i=1;i<=n;i++)//输出时间从小到大所对应的人的编号
26         cout<<a[i].num<<" ";
27     cout<<endl;
28     for(int j=n-1;j>=1;j--)
29     {
30         int i=n-j;
31         time+=a[i].t*j;
32     }
33     printf("%0.2lf",time/n);
34     return 0;
35 }
复制代码

 

posted @   爱吃虾滑  阅读(38)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· winform 绘制太阳,地球,月球 运作规律
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)
点击右上角即可分享
微信分享提示