Pagini recente » Cod sursa (job #3279077) | Cod sursa (job #1585286) | Cod sursa (job #1118777) | Cod sursa (job #1224882) | Cod sursa (job #3294821)
#include <iostream>
#include<fstream>
using namespace std;
int n,g,ans,gr[5005],pr[5005],dp[10005],i,w;
int main()
{
ifstream fin("rucsac.in");
ofstream fout("rucsac.out");
fin>>n>>g;
for(i=1;i<=n;i++)
fin>>gr[i]>>pr[i];
dp[0]=1;
for(i=1;i<=n;i++)
for(w=g-gr[i];w>=0;w--)
if(dp[w])
{
dp[w+gr[i]]=max(dp[w+gr[i]],dp[w]+pr[i]);
ans=max(ans,dp[w+gr[i]]);
}
fout<<ans-1;
fin.close();
fout.close();
return 0;
}