Pagini recente » Istoria paginii runda/coolchoiceyay | Cod sursa (job #1785199) | Cod sursa (job #1054201) | Cod sursa (job #482636) | Cod sursa (job #2828557)
#include <iostream>
#include <fstream>
using namespace std;
ifstream fin("rucsac.in");
ofstream fout("rucsac.out");
int n,gmax,i,j,m,a[10001],b[10001],v[10001],g[10001],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;
}