1 条题解
-
0
自动搬运
来自洛谷,原作者为

dottle
Cy@?g|^a搬运于
2025-08-24 22:40:04,当前版本为作者最后更新于2022-09-05 19:13:51,作者可能在搬运后再次修改,您可在原文处查看最新版自动搬运只会搬运当前题目点赞数最高的题解,您可前往洛谷题解查看更多
以下是正文
如果说我们有 个不同的数可以用来操作,那么无论当前的 是多少,都总有一个数操作以后不会使 变为 。这时候答案就一定是
Yes。接下来的问题就变成了,如果所有数都相同,是否能进行 次操作。如果初始的 和 符号相同,那么无论如何 都不会变成 ;如果 不是 的倍数,那么 也不可能变成 。这两个情况答案都是
Yes。对于剩下的情况,即 与 符号相反,且 是 的倍数,答案就是No了。时间复杂度 。
#include<bits/stdc++.h> using namespace std; void solve(){ int n,x;cin>>n>>x; int first;cin>>first; int flag=0; for(int i=2;i<=n;i++){ int now;cin>>now; if(now!=first) flag=1; } if(flag){ cout<<"Yes"<<endl; return ; } if(x%first!=0){ cout<<"Yes"<<endl; return ; } if(x/first>0){ cout<<"Yes"<<endl; return ; } cout<<"No"<<endl; } main(){ int _T=1;cin>>_T; while(_T--)solve(); }
- 1
信息
- ID
- 8064
- 时间
- 1000ms
- 内存
- 128MiB
- 难度
- 2
- 标签
- 递交数
- 0
- 已通过
- 0
- 上传者