[BZOJ]5074: [Lydsy十月月赛]小B的数字

来源:互联网 发布:滴滴大数据平台下载 编辑:程序博客网 时间:2024/06/04 18:46

题解:

一开始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");    }}
阅读全文
0 0
原创粉丝点击