Pagini recente » Cod sursa (job #1935693) | Cod sursa (job #1693104) | Cod sursa (job #2967183) | Cod sursa (job #2152973) | Cod sursa (job #2940477)
#include<fstream>
using namespace std;
ifstream cin("rucsac.in");
ofstream cout("rucsac.out");
int n,greutate_max,greutate[5005],pret[5005],dp[5005];
inline int maxim(int a,int b)
{
if(a>b)
return a;
return b;
}
int main()
{cin>>n>>greutate_max;
for(int i=1;i<=n;i++)
{cin>>greutate[i]>>pret[i];
}
for(int i=0;i<=n;i++)
for(int j=greutate_max-greutate[i];j>=0;j--)
{if(dp[j]+pret[i]>dp[j+greutate[i]])
dp[j+greutate[i]]=dp[j]+pret[i];
}
int sol=0;
for(int i=1;i<=greutate_max;i++)
{sol=maxim(sol,dp[i]);
}
cout<<sol;
}