题意就是给你个青蛙,他只能跳几个固定的步数,问你能不能跳到坐标x。一维情况。
想了半天也没想到裴蜀定理,感觉暑假学的数论吃掉了。就是几个数的gcd就是他们能到的最小的数,可以到达这个数的整数倍。
#include<cstring>
#include<cstdio>
#include<algorithm>
#include<cstdlib>
using namespace std;
typedef long long ll;
const int maxn = 2e5 + 10;
ll a[maxn];
int main()
{
ll n, m;
scanf("%lld%lld", &n, &m);
for(int i = 0; i < n; i++)
scanf("%lld", &a[i]);
ll sum = a[0];
for(int i = 1; i < n; i++)
sum = __gcd(sum, a[i]);
if(m % sum == 0)
printf("YES\n");
else
printf("NO\n");
return 0;
}