题解:
一开始sb了,想了很久……
因为
x=b1×b2×...×bn
,设
b1=2x1,b2=2x2...bn=2xn
,那么题目中的
x=2x1+x2+...+xn
,对于
biai
,实际上是
2xi×ai
,因为底数都是2,所以只要
x1+x2+...+xnxi<=ai
,就可以符合题意。变一下式子,得到
xix1+x2+...+xn>=1ai
,把所有i的式子加起来,就得到
∑ni=11ai<=1
,那么只要满足这个条件就是YES。
代码:
#include<bits/stdc++.h>
using namespace std;
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<<3)+(x<<1)+(ch^48);ch=getchar();}
return x*f;
}
int n,x;
int main()
{
int T=read();
while(T--)
{
double s=0.0;
n=read();
for(int i=1;i<=n;i++)s+=1.0/(double)(read());
if(s<=1.0)puts("YES");
else puts("NO");
}
}