Pagini recente » Cod sursa (job #1891129) | Cod sursa (job #815532) | Cod sursa (job #1239487) | Cod sursa (job #2009776) | Cod sursa (job #1736221)
#include<string.h>
#include<stdio.h>
#include<vector>
#include<algorithm>
using namespace std;
int main() {
int W[100], P[100];
freopen("rucsac.in", "r", stdin);
freopen("rucsac.out", "w", stdout);
int N, G, max = 0;
scanf("%d %d", &N, &G);
int Din[G + 1];
for (int i = 0; i <= G; i ++)
Din[i] = 0;
for (int i = 0; i < N; i ++)
scanf("%d %d", &W[i], &P[i]);
for (int i = 0; i <= G; i ++)
for (int j = 0; j < N; j ++)
if (i + W[j] <= G && Din[i + W[j]] < Din[i] + P[j])
Din[i + W[j]] = Din[i] + P[j];
for (int i = 0; i <= G; i ++)
if (Din[i] > max)
max = Din[i];
printf("%d", max);
return 0;
}