0分求助,用的空间换时间,用桶来存分数的思路
#include <cstdio>
using namespace std;
int n,x,a[105];
int main(){
scanf("%d",&n);
for(int i=1;i<=n;i++){
scanf("%d",&x);
a[x]++;
if(i>=3){
long long sum=0;
for(int j=100;j>=0;j--)sum+=a[j]*j;
for(int j=100;j>=0;j--){
if(a[j]!=0){
sum-=a[j]*j;
break;
}
}
for(int j=0;j<=100;j++){
if(a[j]!=0){
sum-=a[j]*j;
break;
}
}
printf("%.2lf\n",sum*1.0/(i-2));
}
}
return 0;
}