Pagini recente » Cod sursa (job #2124578) | Monitorul de evaluare | Cod sursa (job #1522118) | Diferente pentru utilizator/alextibulca intre reviziile 1 si 3 | Cod sursa (job #1681686)
#include <stdio.h>
#include <stdlib.h>
int main()
{
freopen("rucsac.in", "r", stdin);
freopen("rucsac.out", "w", stdout);
int n, *dp, g, w, p, i, j;
scanf("%d%d", &n, &g);
dp = calloc((g+1), sizeof(int));
for(i=1; i<=n; i++)
{
scanf("%d%d", &w, &p);
for(j=g; j>=w; j--)
if(dp[j-w]+p>dp[j])
dp[j] = dp[j-w] + p;
}
printf("%d", dp[g]);
return 0;
}