Pagini recente » Cod sursa (job #1698016) | Cod sursa (job #1721) | Cod sursa (job #1654033) | Cod sursa (job #707436) | Cod sursa (job #1564046)
#include <bits/stdc++.h>
using namespace std;
const int N = 5005;
const int G = 10005;
struct
{
int w, p;
} v[N];
int n, Gmax, fin;
int rez[G];
int main()
{
freopen("rucsac.in", "r", stdin);
freopen("rucsac.out", "w", stdout);
scanf("%d %d", &n, &Gmax);
for (int i = 1; i <= n; i++)
scanf("%d %d", &v[i].w, &v[i].p);
for (int i = 1; i <= n; i++)
{
for (int i1 = Gmax; i1 >= v[i].w; i1--)
rez[i1] = max(rez[i1], rez[i1 - v[i].w] + v[i].p);
}
for (int i = 1; i <= Gmax; i++)
fin = max(fin, rez[i]);
printf("%d", fin);
return 0;
}