复制错代码得60分????
#include<bits/stdc++.h>
using namespace std;
int a[110],b[20010],f[20010];
int main() {
int n,m;
cin >> n >>m;
for(int i=0;i<m;i++)
{
cin>>a[i];
}
for(int i=0;i<n;i++)
{
cin>>b[i];
}
memset(f,-1e9,sizeof f);
f[0]=b[0];
for(int i=0;i<n+n;i++){
for(int j=0;j<m;j++){
if(i>=a[j]){
f[i]=max(f[i],f[i-a[j]]+b[i-a[j]]);
}
}
}
int ans=INT_MIN;
for(int i=n;i<2*n;i++)
{
ans=max(ans,f[i]);
}
cout << ans;
return 0;
}
详情
原题