倒数第二个测试点MLE(背包
#include<bits/stdc++.h>
using namespace std;
int zl,c,sr[5000+5],bb[5000+5][50000+5],maxu;
int main()
{
cin>>zl>>c;
for(int i=1;i<=c;i++)
{
cin>>sr[i];
}
for(int i=1;i<=c;i++)
{
for(int j=1;j<=zl;j++)
{
if(sr[i]<=j)
{
bb[i][j]=max(bb[i-1][j],sr[i]+bb[i-1][j-sr[i]]);
}
else
{
bb[i][j]=bb[i-1][j];
}
}
}
cout<<bb[c][zl];
return 0;
}
)