T5的vector写法
#include <bits/stdc++.h>
using namespace std;
#define int long long
int n, a[100011], m;
void solve() {
cin >> n >> m;
for (int i = 1; i <= n; i++){
int x;
cin>>x;
a[i]=x%m;
}
if (n > m) {
cout << "YES\n";
return;
}
vector<int> f(m + 1, 0);
for (int i = 1; i <= n; i++) {
vector<int> dp(m + 1, 0);
for (int j = 0; j < m; j++) {
if (f[j]) {
dp[j] = dp[(j + a[i]) % m] = true;
}
}
dp[a[i]] = true;
if (dp[0]) {
cout << "YES\n";
return;
}
f = dp;
}
cout << "NO\n";
}
signed main() {
int t;
cin >> t;
while (t--)
solve();
return 0;
}