Submission
Status:
[PPTSSSSSSS]
Subtask/Task Score:
{0/100}
Score: 0
User: pxsit
Problemset: 02.Forbidden Boss Room
Language: cpp
Time: 1.066 second
Submitted On: 2025-05-31 12:00:09
// #pragma GCC optimize("Ofast,fast-math,unroll-loops,no-stack-protector,unsafe-math-optimizations,inline,inline-small-functions,inline-functions")
#include <bits/stdc++.h>
// #pragma GCC target("avx2,bmi,bmi2,sse4.2,popcnt,lzcnt,tune=native")
#define endl '\n'
#define endll cout << '\n';
#define sp ' '
#define cinn int n;cin>> n;
#define testcase int t;cin>>t;while(t--)
const int INF = 1e9;
const long long LINF = 1e18;
const int mod = 1e9+7;
typedef long long ll;
typedef unsigned long long ull;
using namespace std;
int32_t main(){ios::sync_with_stdio(false); cin.tie(nullptr);
int t;
cin>>t;
for(int i=0;i<t;i++){
int n;
ll m;
cin >> n >> m;
vector<ll> a(n);
cin >> a[0];
bool perfect = false;
ll mx = 1;
for(int i=1;i<n;i++){
cin >> a[i];
if(a[i]%m == m-1){
perfect = true;
}
a[i] = a[i-1] + a[i];
if(a[i]%m == m-1){
perfect = true;
}
for(int j=0;j<i&&!perfect;j++){
if((a[i]-a[j]+m)%m == m-1){
perfect = true;
}else{
mx = max(mx,(a[i]-a[j]+m)%m);
}
}
}
if(a[n-1] < m){
cout << a[n-1];
continue;
}
// for(int i=0;i<n&&!perfect;i++){
// if(a[i] % m == m-1){
// perfect = true;
// }
// for(int j=0;j<i;j++){
// if((a[i]-a[j]) % m == m-1){
// perfect = true;
// break;
// }else{
// if((a[i]-a[j])%m > mx){
// mx = (a[i]-a[j])%m;
// }
// }
// }
// }
if(perfect) std::cout << m-1;
else std::cout << mx;
if(i != t-1) std::cout << endl;
}
}