| Run ID | 作者 | 问题 | 语言 | 测评结果 | 分数 | 时间 | 内存 | 代码长度 | 提交时间 |
|---|---|---|---|---|---|---|---|---|---|
| 43358 | 项奕琳 初二 | 【J】T2 | C++ | 通过 | 100 | 0 MS | 264 KB | 614 | 2026-10-29 12:55:30 |
#include <bits/stdc++.h> using namespace std; #define int long long int t,n,m,a[25],b[25],p,ans; void dfs(int x,int k){ if (x==0){ p = min(p,k-1); ans = p; return ; } if (k>p) return ; for (int i=1; i<=n; i++){ if (b[i]==0&&x>=a[i]){ b[i] = 1; dfs(x%a[i],k+1); b[i] = 0; } } } signed main(){ cin >> t; while (t--){ cin >> n >> m; for (int i=1; i<=n; i++) cin >> a[i]; p = n; ans = -1; dfs(m,1); cout << ans << endl; } return 0; }