不会的看我!!!
2024-01-13 09:57:09
发布于:广东
#include <bits/stdc++.h>
using namespace std;
const int N = 100001;
int n;
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;
double sum1=0,sum2=0;
for(int i=1;i<n;i++){
sum1 = sum1 + a[i].t;
sum2 = sum2 + sum1;
}
printf("%.2f",sum2/n);
return 0;
}
全部评论 2
不会的看我
#include <iostream>
#include<algorithm>
using namespace std;
struct node{
int t;
int id;
}a[1010];
bool cmp(node x,node y){
return x.t<y.t;
}
int main() {
int n;
cin>>n;
for(int i=1;i<=n;i++){
cin>>a[i].t;
a[i].id=i;
}
sort(a+1,a+n+1,cmp);
double sum=0;
for(int i=1;i<=n;i++){
cout<<a[i].id<<" ";
sum+=a[i].t*(n-i);
}
cout<<endl;
printf("%.2f",sum/n);
return 0;
}2025-04-03 来自 天津
1不用输出和累加分开吧
#include <bits/stdc++.h>
using namespace std;int main()
{
int n,b[1001],a[1001];
float sum=0;
cin >>n;
for(int i=1;i<=n;++i){
cin>>a[i];
b[i]=i;
}
for(int i=1;i<=n;++i)
for(int j=i;j<=n;++j)
if(a[i]>a[j]){
swap(a[i],a[j]);
swap(b[i],b[j]);
}
int i=1;
for(;i<=n;++i){
sum+=a[i]*(n-i);
cout<<b[i]<<" ";
}
printf("\n%.2f",sum/n);
return 0;
}2024-08-28 来自 广东
0
有帮助,赞一个