Pagini recente » Cod sursa (job #2500932) | Cod sursa (job #2443054) | Cod sursa (job #185093) | Cod sursa (job #972528) | Cod sursa (job #764517)
Cod sursa(job #764517)
#include <stdio.h>
using namespace std;
int n, g_max;
int pr[5010];
int gr[5010];
int a[10020];
void citeste() {
scanf("%d%d", &n, &g_max);
for (int i = 1; i <= n; i++) {
scanf("%d%d", &gr[i], &pr[i]);
}
}
int max(int a, int b) {
return (a > b ? a : b);
}
int rezolva() {
for (int i = 1; i <= n; i++) {
for (int j = g_max; j >=0; j--) {
if (gr[i] <= j) {
a[j] = max(a[j], a[j - gr[i]] + pr[i]);
}
}
}
}
void afiseaza() {
printf("%d",a[g_max]);
}
int main()
{
freopen("rucsac.in", "r", stdin);
freopen("rucsac.out", "w", stdout);
citeste();
rezolva();
afiseaza();
}