Pagini recente » Cod sursa (job #2933176) | Cod sursa (job #2255277) | Cod sursa (job #244216) | Cod sursa (job #1625659) | Cod sursa (job #640416)
Cod sursa(job #640416)
#include <stdio.h>
#include <iostream>
int greutate[5000], profit[5000];
int C[2][10000];
int main()
{
freopen("rucsac.in", "r", stdin);
freopen("rucsac.out", "w", stdout);
int n, i, capacitate, l, j;
scanf("%d %d", &n, &capacitate);
for(i = 1; i <= n; ++i)
scanf("%d %d", greutate + i, profit + i);
l = 1;
for (i=1;i<=n;++i)
{
l = 1 - l;
for (j = 0;j <= capacitate;++j)
{
if (greutate[i] <= j)
C[l][j]=
std::max(C[1 - l][j],
C[1 - l][j-greutate[i]]+profit[i]);
}
}
printf("%d",C[l][capacitate]);
return 0;
}