社区讨论

只A了第一个点,真不知道错哪了,明明和题解思路没区别呀

P8664 [蓝桥杯 2018 省 A] 付账问题参与者 1已保存回复 0

讨论操作

快速查看讨论及其快照的属性,并进行相关操作。

当前回复
0 条
当前快照
1 份
快照标识符
@luwg1uu4
此快照首次捕获于
2024/04/12 17:06
2 年前
此快照最后确认于
2024/04/12 19:33
2 年前
查看原帖
跪求神犇奆佬相助!!!orz
CPP
#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;
}

回复

0 条回复,欢迎继续交流。

正在加载回复...