Pagini recente » Cod sursa (job #1159854) | Cod sursa (job #2384099) | Cod sursa (job #2149280) | Cod sursa (job #2585397) | Cod sursa (job #2731316)
#include <fstream>
using namespace std;
ifstream fin ("rucsac.in");
ofstream fout ("rucsac.out");
int n, G, p, g; ///G- greutate maxima
int greutate[1000], pret[1000], dp[1000];
int main()
{
fin >> n >> G;
for(int i=1; i<=G; i++)
{
dp[i]=-1;
}
dp[0]=0;
for(int i=1;i<=n;i++)
{
fin >> g >> p;
for(int j=G-g;j>=0;j--)
{
if(dp[j]==-1)
{
}
else
dp[j+g]=max(dp[j+g], dp[j]+p);
}
}
int Max=0;
for(int i=1;i<=G;i++)
Max=max(Max, dp[i]);
fout << Max;
return 0;
}