题意:
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