#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 分组改写上表。