QWQ第一组hack死都过不去
(如果AC的话我应该是最优解)
#include <bits/stdc++.h>
#define N 10001
using namespace std;
int t, n, k, a[N], sum;
bitset<201> f[N];
signed main()
{
ios::sync_with_stdio(0);
cin.tie(0), cout.tie(0);
cin >> t;
while (t--)
{
cin >> n >> k;
for (int i = 1; i <= n; ++i)
f[i].reset();
f[0] = 1;
sum = 0;
for (int i = 1; i <= n; ++i)
cin >> a[i], a[i] = ((a[i] % k) + k) % k, sum += a[i];
for (int i = 1; i <= n; ++i)
f[i] |= f[i - 1] << a[i], f[i] |= f[i - 1] >> a[i];
if (f[n][k] || f[n][k * 2])
cout << "Divisible\n";
else
cout << "Not divisible\n";
}
return 0;
}