#pragma comment(linker, "/STACK:102400000,102400000")
#include <iostream>
#include<stdio.h>
#include<string.h>
#include<vector>
#include<algorithm>
#include<cmath>
#include<map>
#include<queue>
#define lson l,m,rt<<1
#define rson m+1,r,rt<<1 | 1
using namespace std;
const int N=1e6+10;
int INF=0x7f7f7f7;
int T,n,m,k;
const int MOD=1e9+7;
int b[N],a;
int ans;
int cnt;
void solve(int a,int n){
if(a%b[n]==0){
if(ans==-1 || ans>cnt+1) ans=cnt+1;
return;
}
if(n==1) return;
cnt++;
solve(a%b[n],n-1);
cnt--;
solve(a,n-1);
}
int main()
{
#ifndef ONLINE_JUDGE
freopen("aaa","r",stdin);
#endif
int T;
scanf("%d",&T);
while(T--){
scanf("%d%d",&n,&a);
for(int i=1;i<=n;i++) {
scanf("%d",&b[i]);
}
sort(b+1,b+n+1);
ans=-1;
cnt=0;
solve(a,n);
printf("%d\n",ans);
}
return 0;
}
hdu5339 最小模几个数字可以为0(枚举)
最新推荐文章于 2021-05-14 08:16:35 发布