@[lucy2012](/user/1252442) 习惯太差,开那么大数组,会死人的。
by xu222ux @ 2024-03-22 09:48:10
@[lucy2012](/user/1252442)
```cpp
#include<bits/stdc++.h>
#define int long long
using namespace std;
double b[1000001],sum=0;int c[1003],n;
double cmp(double a,double b){
return a>b;
}
signed main() {
cin>>n;
for(int i=1;i<=n;i++){
cin>>c[i];
b[c[i]]=i;
}
sort(c+1,c+1+n,cmp);
for(int i=n;i>=1;i--){
cout<<b[c[i]]<<' ';
sum+=c[i]*(i-1);
}
cout<<endl;
printf("%.2lf",sum*1.0/n);
return 0;
}
```
90pts
by xu222ux @ 2024-03-22 09:49:03
@[xu222ux](/user/563663)
```cpp
#include<bits/stdc++.h>
using namespace std;
long long n,c[10000],b[100000010],sum=0;
int cnt(int a,int b){
return a>b;
}
int main() {
cin>>n;
for(int i=1;i<=n;i++){
cin>>c[i];
b[c[i]]=i;
}
sort(c+1,c+1+n,cnt);
for(int i=n;i>=1;i--){
cout<<b[c[i]]<<' ';
sum+=c[i]*(i-1);
}
cout<<endl;
printf("%.2lf",sum*1.0/n);
return 0;
}
```
这样也行
by lucy2012 @ 2024-03-22 09:49:48
@[lucy2012](/user/1252442) 没100 的原因是你的c[i]的值可能会重复
by xu222ux @ 2024-03-22 09:49:58
@[lucy2012](/user/1252442)
我的CODE
```cpp
#include<iostream>
#include<cstdio>
#include<algorithm>
using namespace std;
struct a{
int num,times;
}m[1009];
int cmp(a x,a y){
return x.times<y.times;
}
long long n,ans;
int main() {
cin>>n;
for(int i=1;i<=n;i++){
cin>>m[i].times;
m[i].num=i;
}
sort(m+1,m+1+n,cmp);
for(int i=1;i<=n;i++){
cout<<m[i].num<<' ';
ans+=(n-i)*m[i].times;
}
cout<<endl;
printf("%.2f",1.0*ans/n);
return 0;
}
```
by xu222ux @ 2024-03-22 09:50:21
@[xu222ux](/user/563663) 我看成保证不重复QAQ
by lucy2012 @ 2024-03-22 09:52:32