Pagini recente » Borderou de evaluare (job #1288726) | Cod sursa (job #3130549) | Borderou de evaluare (job #92059) | 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;
}