根据本蒟蒻下载的样例来看,问题出在没有按照输入顺序输出相等值,有无大佬帮忙看看。
#include<iostream>
#include<algorithm>
using namespace std;
struct water{
int v,h;
};
water w[100001];
bool cmp(const water&a,const water&b){
if(a.v!=b.v){
return a.v<b.v;
}
}
int main(){
int n;
double sum=0;
cin>>n;
for(int i=1;i<=n;i++){
cin>>w[i].v;
w[i].h=i;
}
sort(w+1,w+n+1,cmp);
for(int i=1;i<=n;i++){
sum+=(n-i)*w[i].v;
cout<<w[i].h<<" ";
}
cout<<endl;
printf("%.2f",sum/n);
}