[BZOJ 5074] 小B的数字
题目传送-BZOJ5074
题意:
T组数据
你有一个数组\(A\),要求一个数组\(B\)
\(B\)中的数都是2的正整数次幂。
令\(x=\prod_{i=1}^nB_i\),有\(x|B_i^{A_i},i\in1,2,3,...,n\)成立
\(T \le 10,n \le 100000\)
题解:
首先\(B\)可以直接转化为每个元素的指数,限制就是\(x=\sum_{i=1}^nB_i\),有\(x\le B_i*A_i,i\in1,2,3,...,n\)成立
所以\(B_i \ge \frac{x}{A_i}\)所以\(x \ge x*\sum_{i=1}^n\frac{1}{a_i}\)
\(over\)
过程:
一切顺利
代码:
const int N=100010;
int T,n;
double p;
int main() {
read(T);
while(T--) {
read(n); p=0;
for (int i=1,x;i<=n;i++){
read(x);
p=p+1.0/x;
}
puts(p>1 ? "NO" : "YES");
}
return 0;
}
用时:3min