Pagini recente » Cod sursa (job #2501940) | Cod sursa (job #2869893) | Cod sursa (job #1521255) | Cod sursa (job #2806144) | Cod sursa (job #2486453)
#include <iostream>
#include <fstream>
using namespace std;
ifstream fin ("rucsac.in");
ofstream fout ("rucsac.out");
int n, gr[1010], co[1010], gmax, x[1010], y[1010];
int main()
{
int i, j=0;
fin>>n>>gmax;
for(i=1; i<=n; i++)
fin>>gr[i]>>co[i];
for(j=1; j<=n; j++)
{
for(i=1; i<=gmax; i++)
{
if(i-gr[j]>=0)
{
if(j%2==1)
{
if(y[i-gr[j]]+co[j]>y[i])
x[i]=y[i-gr[j]]+co[j];
else
x[i]=y[i];
}
else
{
if(x[i-gr[j]]+co[j]>x[i])
y[i]=x[i-gr[j]]+co[j];
else
y[i]=x[i];
}
}
else
if(j%2==1)
x[i]=y[i];
else
y[i]=x[i];
}
}
if(n%2==1) fout<<x[gmax];
else fout<<y[gmax];
fin.close();
fout.close();
return 0;
}