WA #19 求助
查看原帖
WA #19 求助
494992
underline__jian楼主2022/1/1 22:35
#include<iostream>
#include<algorithm>
using namespace std;
const int maxn=1e6*7+9;
long long n,m,k;
double a[maxn],AVE,FC;
double minn=1e25;
inline long long read(){
	long long x=0,y=1;
    char ch=getchar();
    while(ch<'0'||ch>'9'){
		if(ch=='-') y=-1;
		ch=getchar();
	}
    while(ch>='0'&&ch<='9'){
		x=(x<<1)+(x<<3)+(ch^48);
		ch=getchar();
	}
    return x*y;
}
int main(){
	n=read(),k=read();
	for(int i=1;i<=n;i++) a[i]=read();
	if(a[1]==a[n]){
		printf("No answer!");
		return 0;
	}
	sort(a+1,a+n+1);
	for(int i=1;i<=n;i++) AVE+=a[i];
	AVE/=n;
	for(int i=1;i<=n;i++) FC+=(a[i]-AVE)*(a[i]-AVE);
	FC/=n;
	long long ans=sqrt(k/FC);
	for(double i=max(1.0,ans-1.0);i<=ans+1.0;i+=1.0)
		if(abs(FC*i*i-k)<minn){
			minn=abs(FC*i*i-k);
			ans=i;
		}
	printf("%lld",ans);
	return 0;
}

代码如上,求调

2022/1/1 22:35
加载中...