#include<bits/stdc++.h>
using namespace std;
int t,n,x;
int a[10];
int main()
{
scanf("%d",&t);
while(t--)
{
int flag = 0;
scanf("%d%d",&n,&x);
for(int i=1;i<=n;i++)
{
scanf("%d",&a[i]);
if((x > 0 && a[i] > 0)
|| (x > 0 && a[i] > 0)
|| abs(x) % abs(a[i]) != 0)
{
flag = 1;
}
else
{
x = x + (abs(x) / abs(a[i]) - 1) * a[i];
}
}
if(flag)
{
printf("Yes\n");
}
else
{
printf("No\n");
}
}
return 0;
}
if(abs(x) % abs(a[i]) != 0)
,是就 flag=1 ,否则用 ai 去减 x 到 x 为 ai 。Yes
, 否则输出 No
。样例过了,评论区的hack也过了,但WA on #2。
求大师指点。