直接写的,TLE,搜了一下,有证明:对于每一个a[ i ],一定是从 a[ i ] 加到a[ n ]再求平均这样得到的平均数最小。
从所有的平均值中找最大的就行了。至于怎么证明的,真心不想看。。。。。
#include<stdio.h>
int a[10000];
int main()
{
int n,i,j,len;
double sum,k;
while(scanf("%d",&n)!=EOF)
{
for(i=0;i<n;i++)
scanf("%d",&a[i]);
k=a[0];
for(i=1;i<n;i++)
k+=a[i];
len=n;
sum=k/n;
for(j=0;j<n-1;j++)
{
k-=a[j];
len--;
if(sum<=k/len) sum=k/len;
}
printf("%.6lf\n",sum);
}
return 0;
}