#include <iostream>
#include <vector>
using namespace std;
//dfs 穷举
int vMax = 0;
void dfs(const vector<int>& data, int i, int sum, int m) {
if(i == data.size()) {
vMax = max(vMax, sum);
return;
}
// 不选
dfs(data, i+1, sum, m);
// 选
dfs(data, i+1, (sum + data[i])%m, m);
}
int main() {
int n, m;
cin >> n >> m;
vector<int> data(n);
for(auto& v : data) {
cin >> v;
}
dfs(data, 0,0,m);
cout << vMax << endl;
}
// 64 位输出请用 printf("%lld")



京公网安备 11010502036488号