Pagini recente » Istoria paginii runda/nyes | Cod sursa (job #2228356) | Cod sursa (job #1486250) | Cod sursa (job #2365917) | Cod sursa (job #2828556)
#include <iostream>
#include <fstream>
using namespace std;
ifstream fin("rucsac.in");
ofstream fout("rucsac.out");
int n,gmax,i,j,m,a[5001],b[5001],v[5001],g[5001],mx,k;
int main()
{
fin>>n>>gmax;
for (i=1;i<=n;i++)
{
fin>>g[i]>>v[i];
}
for (i=1;i<=n;i++)
a[i]=-1;
for (i=1;i<=n;i++)
{
for (j=1;j<=gmax;j++)
{
if (j-g[i]>=0 && a[j-g[i]]!=-1)
{
b[j]=max(b[j],a[j-g[i]]+v[i]);
}
b[j]=max(b[j],a[j]);
}
for (k=1;k<=gmax;k++)
a[k]=b[k];
}
mx=0;
for (i=0;i<=gmax;i++)
if (b[i]>mx) mx=b[i];
fout<<mx;
return 0;
}