Pagini recente » Cod sursa (job #502703) | Cod sursa (job #1864172) | Cod sursa (job #621139) | Cod sursa (job #745378) | Cod sursa (job #1347777)
#include <fstream>
using namespace std;
ifstream in ("rucsac.in");
ofstream out ("rucsac.out");
int main ()
{
int n,g,i,j,max=0,w,p,gmax=0,v[10001];
in >>n>>g;
for (j=1;j<=g;j++)
v[j]=-1;
v[0]=0;
for (i=1;i<=n;i++)
{
in>>w>>p;
for (j=gmax;j>=0;j--)
{
if (v[j]!=-1&&j+w<=g&&v[j+w]<v[j]+p)
{
v[j+w]=v[j]+p;
if (v[j+w]>max)
max=v[j+w];
if (j+w>gmax)
gmax=j+w;
}
}
}
out <<max;
return 0;
}