Pagini recente » Cod sursa (job #2653783) | Cod sursa (job #2821509) | Cod sursa (job #2257809) | Cod sursa (job #3274797) | Cod sursa (job #1896815)
#include <fstream>
#define nm1 5001
#define nm2 10001
using namespace std;
int a[nm1], v[nm1], cmax[2][nm2], n, gmax;
ifstream fin("rucsac.in");
ofstream fout("rucsac.out");
int main()
{
int i,z1,z2;
fin>>n>>gmax;
for( i=1; i<=n; i++)
fin>>a[i]>>v[i];
z1=1;
for (i=1;i<=n;++i)
{
for (int g=1;g<=gmax;g++)
{
z2=1-z1;
cmax[z2][g]=cmax[z1][g];
if (a[i]<=g &&
cmax[z2][g]<cmax[z1][g-a[i]]+v[i])
cmax[z2][g]=cmax[z1][g-a[i]]+v[i];
}
z1=z2;
}
fout<<cmax[z2][gmax];
return 0;
}