#3959. [GESP2406 三级] 寻找倍数
[GESP2406 三级] 寻找倍数
寻找倍数
题目描述
⼩杨有⼀个包含 个正整数的序列 ,他想知道是否存在 ( ) 使得 是序列 中所有数 的倍数。
输入格式
第⼀⾏包含⼀个正整数 ,代表测试⽤例组数。 接下来是 组测试⽤例。 对于每组测试⽤例,⼀共两⾏。其中,第⼀⾏包含⼀个正整数 ;第⼆⾏包含 个正整数,代表序列 。
输出格式
对于每组测试⽤例,如果存在 ( )满⾜对于所有 ( ) 是 的倍数,输出 Yes,否则输出 No。 3.2.4 样例1 1 2 2 3 3 1 2 4 4 5 5 1 2 3 4 5 1 Yes 2 No 3.2.5 样例解释 对于第⼀组数据,对于 ,满⾜ 是 和 的倍数。 3.2.6 数据范围 对于全部数据,保证有 。 3.2.7 参考程序 1 #include<bits/stdc++.h> 2 using namespace std; 3 const int N = 1e5+10; 4 int a[N]; 5 int main(){ 6 int t; 7 cin>>t; 8 while(t--){ 9 int n; 10 cin>>n; 11 int x = 0; 12 for(int i=1;i<=n;i++){ 13 cin>>a[i]; 14 x =max(x,a[i]); 15 } 16 int fl = 0; 17 for(int i=1;i<=n;i++){ 18 if(x%a[i])fl=1; 19 } 20 if(fl)cout<<"No\n"; 21 else cout<<"Yes\n"; 22 } 23 }
样例输入 #1
1 2
2 3
3 1 2 4
4 5
5 1 2 3 4 5
1 Yes
2 No
样例输出 #1
样例解释 #1
对于第⼀组数据,对于 ,满⾜ 是 和 的倍数。
数据范围
对于全部数据,保证有 。
知识点与难度
本题涉及的知识点从属于 GESP 3级,难度等级:⭐⭐ 。
测试点分布
| Subtask | 分值 | 测试点编号 | 说明 |
|---|---|---|---|
| 0 | 10 | 1~2 | 样例 |
| 1 | 20 | 3~8 | 小规模 / 特殊性质 |
| 2 | 15 | 9~11 | Hack |
| 3 | 30 | 12~20 | 中大规模 |
| 4 | 25 | 21~25 | 随机回归 |
生测试数据后,按实际 subtask 分组改写上表。