!
2023-08-06 16:12:06
发布于:广东
1阅读
0回复
0点赞
using namespace std;
typedef long long ll;
const int inf = 5000005;
int f[25005];
int a[105];
int i, j, n, T, ans;
int main() {
ios::sync_with_stdio(false);
cin >> T;
while (T--) {
memset(f, 0, sizeof(f));
cin >> n;
ans = n;
for (i = 1; i <= n; i++) { cin >> a[i]; }
sort(a + 1, a + n + 1);
f[0] = 1;
for (i = 1; i <= n; i++) {
if (f[a[i]]) {
ans--;
continue;
}
for (j = a[i]; j <= a[n]; j++) {
f[j] = f[j] | f[j - a[i]];
}
}
cout << ans << endl;
}
return 0;
}
这里空空如也
有帮助,赞一个