这道题如果根据经验,用这种方法写应该没问题,但实际运行后发现,如果数据比较少会超时并且无法输出结果,测试数据中第一个是wa,下载测试数据后发现在本地运行正确
上代码
#include<iostream>
#include<algorithm>
#include<cstdio>
using namespace std;
int n,m;
double x=0;
double min(int* arr,int size){
sort(arr,arr+size);
int all=0;
for(int i=1;i<size;i++)
all+=arr[i];
all/=(m-2);
return all;
}
struct stu{
int fen[20];
double all;
};
int main(){
scanf("%d %d",&n,&m);
stu stu[n];
for(int i=1;i<=n;i++)
for(int p=0;p<m;p++){
scanf("%d",&stu[i].fen[p]);
}
for(int i=1;i<=n;i++){
stu[i].all=min(stu[i].fen,m);
if(stu[i].all>x) x=stu[i].all;
}
printf("%.2lf",x);
return 0;
}