#include<iostream>
#include<iomanip>
#include<algorithm>
#include<stdio.h>
using namespace std;
int n;
double sum;
struct stu
{
int t;
int id;
};
stu s[1005];
bool cmp(stu x,stu y)
{
return x.t < y.t;
}
int main()
{
cin >> n;
for (int i = 1; i <= n; i++)
{
s[i].id = i;
cin >> s[i].t;
}
sort(s + 1, s + n + 1,cmp);
for (int i = 1; i <= n; i++)
{
cout << s[i].id << " " ;
}
cout << endl;
for (int i = 1; i <= n; i++)
{
sum += s[i].t*(n - i);
}
double aver = sum / n;
cout << setiosflags(ios::fixed) << setprecision(2) << aver ;
return 0;
}
为啥sum+=s[i].t*(n-i)而不是s[i].t*(n-i+1) 第一种的话最后一个人的排队时间不就没有算进去了吗?