题解B2095 白细胞计数
Meng142857 · · 题解
本蒟蒻的一篇题解
此题为模拟题,只需删去最大最小值,然后按题意模拟即可
AC代码如下,请勿抄袭(话说谁抄这种题的题解):
#include<iostream>
#include<cstdio>
#include<cmath>
using namespace std;
double a[520],sum,minn=99999999,maxn=-1,maxi,mini,maxd=-1;
int main(){
int n;
cin>>n;
for(int i=1;i<=n;i++){
cin>>a[i];
minn=min(minn,a[i]);
if(a[i]==minn){mini=i;}//确定最大值
maxn=max(maxn,a[i]);
if(a[i]==maxn){maxi=i;}//确定最小值
sum+=a[i];
}
sum-=minn+maxn;
printf("%.2lf ",sum/(n-2));
for(int i=1;i<=n;i++){
if(i!=mini&&i!=maxi){//排除最大最小值
maxd=max(maxd,fabs(a[i]-sum/(n-2)));
}
}
printf("%.2lf",maxd);
return 0;
}