Pagini recente » Cod sursa (job #1946545) | Cod sursa (job #2687783) | Cod sursa (job #638348) | Cod sursa (job #1780733) | Cod sursa (job #759025)
Cod sursa(job #759025)
#include <cstdio>
#define NMAX 10001
using namespace std;
int n, g, w, p, r[NMAX];
int main()
{
int i, j, max;
FILE *in = fopen("rucsac.in", "r");
FILE *out = fopen("rucsac.out", "w");
fscanf(in, "%d %d", &n, &g);
for ( i = 1; i <= n; i++)
{
fscanf(in, "%d %d", &w, &p);
for ( j = g; j >= 1; j--)
if ( r[j] != 0 && j + w <= g && p + r[j] > r[w + j])
r[ w + j] = p + r[j];
if ( p > r[w] )
r[w] = p;
}
max = r[g];
for ( i = g - 1; i >= 1; i--)
if ( r[i] > max)
max = r[i];
fprintf(out, "%d\n", max);
fclose(in);
fclose(out);
return 0;
}