Submission
Status:
[PTSSSSSSSS]
Score: 0
User: Nightingale
Problemset: 02.Forbidden Boss Room
Language: cpp
Time: 1.081 second
Submitted On: 2025-04-01 17:22:29
#include <bits/stdc++.h>
using namespace std;
int main() {
ios_base::sync_with_stdio(false);
cin.tie(NULL);
int b;
cin >> b;
for(int i=0;i<b;i++)
{
int n, d;
cin >> n >> d;
vector<int> a(n);
for (int i = 0; i < n; i++) {
cin >> a[i];
}
vector<bool> dp(d, false);
dp[0] = true;
for (int i = 0; i < n; i++) {
vector<bool> next = dp;
for (int r = 0; r < d; r++) {
if (dp[r]) {
int new_rem = (r + a[i]) % d;
next[new_rem] = true;
}
}
dp = next;
}
int max_rem = 0;
for (int r = 0; r < d; r++) {
if (dp[r]) {
max_rem = max(max_rem, r);
}
}
cout << max_rem << '\n';
}
}