| Run ID | 作者 | 问题 | 语言 | 测评结果 | 分数 | 时间 | 内存 | 代码长度 | 提交时间 |
|---|---|---|---|---|---|---|---|---|---|
| 43440 | Liyiyang1123 | 【J】T2 | C++ | 运行超时 | 30 | 1000 MS | 256 KB | 602 | 2026-10-29 16:57:20 |
#include <bits/stdc++.h> using namespace std; int t,n,x,ans,a[25],vis[25]; void dfs(int x,int step){ if(step>ans) return; if(x==0){ ans=min(ans,step); return; } for(int i=1;i<=n;++i){ if(vis[i]) continue; vis[i]=1; dfs(x%a[i],step+1); vis[i]=0; } return; } int main(){ cin>>t; while(t--){ cin>>n>>x,ans=INT_MAX; for(int i=1;i<=n;++i) cin>>a[i]; sort(a+1,a+n+1); dfs(x,0); if(ans==INT_MAX) cout<<"-1\n"; else cout<<ans<<"\n"; } return 0; }