Pagini recente » Cod sursa (job #602457) | Cod sursa (job #2595155) | Cod sursa (job #2270599) | Cod sursa (job #268346) | Cod sursa (job #2394171)
#include <fstream>
using namespace std;
int n, i, G, D[10001], g[5001], p[5001], j, maxim;
int main ()
{
ifstream fin ("rucsac.in");
ofstream fout ("rucsac.out");
fin>>n>>G;
for (i=1; i<=n; i++)
fin>>g[i]>>p[i];
D[0]=0;
for (i=1; i<=G; i++)
D[i]=-1;
for (i=1; i<=n; i++)
for (j=G; j>=0; j--)
if (D[j]!=-1 && j+g[i]<=G)
D[j+g[i]]=max(D[j+g[i]], D[j]+p[i]);
for (i=1; i<=G; i++)
if (D[i]>maxim)
maxim=D[i];
fout<<maxim;
}