int main(){
int i,j,t[905],n,z,num[905];
double s;
scanf("%d",&n);
for(i=1;i<=n;i++){
scanf("%d",&t[i]);
num[i]=i;
}
for(i=2;i<=n;i++)for(j=1;j<=n-1;j++)if(t[j]>t[j+1]||(t[j]==t[j+1]&&num[j]>num[j+1])){
z=t[j];
t[j]=t[j+1];
t[j+1]=z;
z=num[j];
num[j]=num[j+1];
num[j+1]=z;
}
z=n-1;
s=0;
for(i=1;i<=n-1;i++){
printf("%d ",num[i]);
s+=z*t[i];
z--;
}
printf("%d\n",num[i]);
printf("%.2f",s/n);
return 0;
}
WA 90分
为什么第十个点会最后输出负数??