题目链接:
代码如下:
#include <bits/stdc++.h>
using namespace std;
const int maxn=1e5+5;
typedef long long ll;
int n,k,m;
int a[maxn];
double sum=0;
double ans;
int main()
{
scanf("%d%d%d",&n,&k,&m);
for (int i=1;i<=n;i++)
{
scanf("%d",&a[i]);
sum+=a[i];
}
sort(a+1,a+n+1);
ans=(sum+(double)min(n*k,m))/n;
for (int i=1;i<=n;i++)
{
if(m>=i)
{
sum-=a[i];
ans=max(ans,((sum+min((double)(n-i)*k,(double)(m-i)))/(n-i)));
}
else
break;
}
printf("%.12lf\n",ans);
return 0;
}