Pagini recente » Cod sursa (job #1355344) | Cod sursa (job #2677681) | Cod sursa (job #2896190) | Cod sursa (job #316178) | Cod sursa (job #2202800)
#include <fstream>
#define MAX 10005
using namespace std;
int n,G,i,g[MAX],p[MAX],j,dp[MAX],ans;
int main()
{
ifstream fin("rucsac.in");
ofstream fout("rucsac.out");
fin>>n>>G;
for(i=1;i<=n;i++)
{
fin>>g[i]>>p[i];
}
for(j=1;j<=n;j++)
{
for(i=G;i>=0;i--)
{
if(i+g[j]<=G and dp[i]>0)dp[i+g[j]]=max(dp[i+g[j]],dp[i]+p[j]);
}
dp[g[j]]=max(dp[g[j]],p[j]);
}
for(i=0;i<=G;i++)
ans=max(ans,dp[i]);
fout<<ans<<"\n";
return 0;
}