Pagini recente » Cod sursa (job #2183338) | Cod sursa (job #1596520) | Cod sursa (job #2224114) | Cod sursa (job #1583085) | Cod sursa (job #1569032)
#include <iostream>
#include <fstream>
using namespace std;
ifstream fin ("rucsac.in");
ofstream fout ("rucsac.out");
int g[5010], p[5010], rez[10010];
int N,G;
int main()
{
int i,j;
fin>>N>>G;
for (i=1;i<=N;i++)
fin>>g[i]>>p[i];
for (i=1;i<=N;i++)
{
j=G;
while (j >= g[i])
{
if (p[i]+rez[j-g[i]] > rez[j])
rez[j] = p[i]+rez[j-g[i]];
j--;
}
}
int max=0;
for (i=1;i<=G;i++)
if (rez[i]>max)
max=rez[i];
fout<<max;
return 0;
}