rt。
#include<bits/stdc++.h>
using namespace std;
#define maxn 7000001
typedef long long ll;
int n,k,a[maxn];
double sum=0,s=0;
inline int read()
{
int x=0,f=1;
char ch=getchar();
while(ch<'0'||ch>'9')
{
if(ch=='-') f=-1;
ch=getchar();
}
while(ch>='0'&&ch<='9')
{
x=(x<<1)+(x<<3)+(ch^48);
ch=getchar();
}
return x*f;
}
int main()
{
n=read(),k=read();
for(int i=1;i<=n;i++)
{
a[i]=read();
sum+=a[i];
}
sum/=n;
for(int i=1;i<=n;i++) s+=1.0*(sum-a[i])*(sum-a[i]);
s/=n;
if(abs(s)<=1e-10) { printf("No answer!"); return 0; }
int x=floor(sqrt(k/s)),y=ceil(sqrt(k/s));
if(!x) { printf("%ld",y); return 0; }
if(abs(s*x*x-k)<=abs(s*y*y-k)) printf("%ld",x);
else printf("%ld",y);
return 0;
}
20pts记录