WHY
WA on #1 and #3
#include<bits/stdc++.h>
using namespace std;int dp[10101100],a[10110100],b[10110100];
int main(){
int n,m;
cin>>n>>m;
for(int i=1;i<=m;i++)cin>>a[i];
for(int i=1;i<=n;i++)cin>>b[i];
for(int i=1;i<=n*2;i++){
dp[i]=INT_MIN;
}
dp[0]=dp[1]=0;
for(int i=1;i<=n*2;i++){
for(int j=1;j<=m;j++){
if(i>=a[j]){
dp[i]=max(dp[i],dp[i-a[j]]+b[i-a[j]]);
}
}
}
int mx=INT_MIN;
for(int i=n;i<=n*2;i++)mx=max(mx,dp[i]);
cout<<mx;
return 0;
}