#include<bits/stdc++.h>
using namespace std;
int n,m,td[100005],gq[100005],f[1000005];
int kmax=INT_MIN,kmin=INT_MAX;
int main(){
cin>>n>>m;
for(int i=1;i<=m;i++){
cin>>td[i];
kmax=max(kmax,td[i]);
kmin=min(kmin,td[i]);
}
for(int j=1;j<=n;j++){
cin>>gq[j];
}
for(int i=1;i<=kmin;i++){
f[i]=gq[i];
}
for(int i=kmin+1;i<=n+kmax;i++)f[i]=-1e9;
for(int i=kmin+1;i<=n+kmax;i++){
int q=INT_MIN;
for(int j=1;j<=m;j++){
q=max(q,f[i-td[j]]);
}
f[i]=q+gq[i];
}
int w=INT_MIN;
for(int i=1;i<=n+kmax;i++){
w=max(w,f[i]);
}
cout<<w;
return 0;
}
2WA,3RE请问有人知道怎么解决吗?