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';
  }
}