只A了第一个点,真不知道错哪了,明明和题解思路没区别呀
查看原帖
只A了第一个点,真不知道错哪了,明明和题解思路没区别呀
1073710
csq_pig楼主2024/4/12 17:05

跪求神犇奆佬相助!!!orz

#include <bits/stdc++.h>
using namespace std;
int n,S,a[500010];
long double sum,ave,x;
int main()
{
//	ios_base::sync_with_stdio(false);
	scanf("%d%d",&n,&S);
	for (int i=1;i<=n;i++) scanf("%d",&a[i]);
	x=n; sum=S; ave=sum/x; 
	sort(a+1,a+1+n);
	long double b=0,ans=0;
	for (int i=1;i<=n;i++) {
		if (a[i]<=sum/(x-i+1)) b=a[i];
		else b=sum/(x-i+1);
		sum-=b;
		ans+=(ave-b)*(ave-b);
//		cout<<ans<<" "<<b<<" "<<sum<<endl;
	}
	printf("%.4Lf\n",sqrtl(ans/x)); 
	return 0;
}

2024/4/12 17:05
加载中...