提交时间:2024-03-01 15:40:22

运行 ID: 42537

#include<stdio.h> #include<algorithm> using std::sort; struct water { int num,time;} p[1002]; double ans; inline bool comp(water a,water b) { //双关键字排序 if(a.time!=b.time) return a.time<b.time; return a.num<b.num; } int main() { int n; scanf("%d",&n); for(int i=1; i<=n; i++) { //输入时间并重置序号 scanf("%d",&p[i].time); p[i].num=i; } sort(p+1,p+n+1,comp); for(int i=1; i<=n; i++) //排完序的数组即为顺序,输出即可 printf("%d ",p[i].num); printf("\n"); for(int i=1; i<=n; i++) ans+=i*p[n-i].time; //核心公式 ans/=n; printf("%.2f",ans); return 0; }