洛谷 P5738 歌唱比赛

按照题意模拟即可。没有必要开数组和结构体之类,直接用中间变量替代就行

#include
using namespace std;
int n,m;
double ans,sum,maxn,minn;//虽然题目没说,但个人认为double保险
int main(){
	cin>>n>>m;
	for(int i=1;i<=n;++i){
		sum=maxn=0,minn=0x3f3f3f3f;
        	//一定要记得初始化!调了半天才发现
		for(int j=1;j<=m;++j){
			double x;
			cin>>x;
			sum+=x;
			maxn=max(maxn,x);
			minn=min(minn,x);
		}
		sum-=(maxn+minn);//最后统一减去,加个括号保险
		ans=max(ans,sum/(m-2));//注意是m-2个数的平均数
	}
	cout<<fixed<<setprecision(2)<<ans<<endl;
	return 0;
}

你可能感兴趣的:(题解)