我这个蒟蒻今天RE*10000
RE代码:
#include<bits/stdc++.h>
using namespace std;
long long a[1005];
long long mods[1005],kq[1000005]={0};
long long step[1000005]={0};
int main() {
long long k, n, d,sums=0,p=0;
cin >> n >> k >> d;
for (int i = 0; i < n; i++){
cin >> a[i];
sums+=a[i];
}
sort(a, a + n);
for (int i = 0; i < n; i++)mods[i] = a[i] % d;
for(int i=0;i<n;i++){
kq[0]=0,step[0]=0;
for(int j=p;j>=0;j--){
kq[p++]=a[i]+kq[j];
step[p]=step[j]+1;
//cout<<"kq["<<p<<"]="<<"kq["<<j<<"]+"<<a[i]<<",step["<<p<<"]="<<step[p]<<'\n';
}
}
long long mx=-1;
//for(int i=0;i<p;i++){
// cout<<i<<":"<<kq[i]<<' '<<step[i]<<'\n';
// }
for(int i=0;i<p;i++){
if(step[i]==k&&kq[i]%d==0&&kq[i]>mx)mx=kq[i];
}
cout<<mx;
/*int sm=0,msm=0;
for(int i=n-1;i>n-k;i--){
msm=(msm+mods[i])%d;
sm+=a[i];
}
for(int i=n-1-k;i>=0;i--){
if((msm+mods[i])%d==0){
cout<<sm+a[i];
return 0;
}
}
cout<<-1;*/
return 0;
}