why
2024-07-16 13:28:48
发布于:广东
72阅读
0回复
0点赞
#include <bits/stdc++.h>
struct node{
int time,id;
}r[1001];
bool cmp(node x,node y)
{
if(x.time==y.time) return x.id<y.id;
else return x.time<y.time;
}
int main()
{
int n;
int sum=0;
std::cin>>n;
for(int i=1;i<=n;i++){
std::cin>>r[i].time;
r[i].id=i;
}
std::sort(r+1,r+n+1,cmp);
for(int i=1;i<=n;i++)
{
std::cout<<r[i].id<<' ';
sum+=r[i].time*(n-i);
}
printf("\n%.2f",sum*1.0/n);
}
全部评论 2
#include<bits/stdc++.h> using namespace std; const int N = 100001; int n; double sum1 = 0, sum2 = 0; struct stu { double t; int id; } a[N]; bool cmp(stu aa, stu bb) { return aa.t < bb.t; } int main() { cin >> n; for (int i = 1; i <= n; ++i) { cin >> a[i].t; a[i].id = i; } sort(a + 1, a + 1 + n, cmp); for (int i = 1; i <= n; ++i) cout << a[i].id << " "; cout << endl; for (int i = 1; i < n; i++) { sum1 = sum1 + a[i].t; sum2 = sum2 + sum1; } cout << fixed << setprecision(2) << sum2 * 1.0 / n; return 0; }
2024-07-26 来自 浙江
0sdfgnm
2024-07-16 来自 广东
0
有帮助,赞一个