题解好多都过不了啊(嘿嘿嘿)
实力通过
#include<bits/stdc++.h>
using namespace std;
#define int long long
#define IOS ios::sync_with_stdio(false),cin.tie(0),cout.tie(0);
#define lowbit(x) (-x&x)
int qmi(int a,int b){int res = 1;while(b){if(b&1){res = res*a;}b = b>>1;a = a*a; } return res;}
const int N = 5e5+10;
long double s;
long double a[N];
int n;
void solve()
{
cin>>n>>s; for(int i=1;i<=n;++i) cin>>a[i];
sort(a+1,a+1+n);
double aver = s/n;
int i=1;
long double left = 0;
long double laver = 0;
// cout<<aver<<endl;
while(i<=n){
if(a[i]<=aver){
left += aver - a[i];
i++;
}else{
laver = left / (n-i+1);
if(a[i]-aver <= laver){
left = left - (a[i]-aver);
}else{
break;
}
i++;
}
}
long double ans = 0;
for(int j=1;j<=n;++j){
if(j<i){
ans+=(a[j]-aver)*(a[j]-aver);
}else{
ans+=(aver+laver-aver)*(aver+laver-aver);
}
}
ans = sqrt(ans/n);
printf("%.4llf",ans);
}
signed main()
{
//freopen("D:/vsCode/.vscode/oi/in.txt","r",stdin);
//freopen("D:/vsCode/.vscode/oi/out.txt","w",stdout);
IOS
int t = 1;
//cin>>t;
while(t--) solve();
system("pause");
return 0;
}