Pagini recente » Cod sursa (job #3038537) | Cod sursa (job #2764983) | Cod sursa (job #518549) | Cod sursa (job #1511193) | Cod sursa (job #876491)
Cod sursa(job #876491)
#include <cstdio>
#include <algorithm>
#define NMAX 5001
#define GMAX 10001
using namespace std;
int n;
int s;
int g[NMAX];
int p[NMAX];
int sol[GMAX];
void read()
{
freopen("rucsac.in", "r", stdin);
scanf("%d %d\n", &n, &s);
for(int i = 1; i <= n; ++ i)
scanf("%d %d\n", &g[i], &p[i]);
}
int solve()
{
int rez = 0;
for(int i = 1; i <= n; ++ i)
for(int j = s - g[i]; j >= 0; -- j)
if(sol[j + g[i]] < sol[j] + p[i])
{
sol[j + g[i]] = sol[j] + p[i];
rez = max(rez, sol[j + g[i]]);
}
return rez;
}
int main()
{
read();
freopen("rucsac.out", "w", stdout);
printf("%d\n", solve());
return 0;
}