Pagini recente » Cod sursa (job #3265557) | Cod sursa (job #2298658) | Cod sursa (job #2868974) | Cod sursa (job #1911044) | Cod sursa (job #767693)
Cod sursa(job #767693)
#include<stdio.h>
#define WMAX 10002
int a[ WMAX ], n, W, max, res;
void solve()
{
int i, j, w, p;
FILE *f = fopen("rucsac.in", "r");
fscanf(f, "%d %d", &n, &W);
for(i = 1; i <= n; i++)
{
fscanf(f, "%d %d", &w, &p);
for(j = max; j >= 0; j--)
if(j + w <= W)
if(a[j] + p > a[w + j] || !a[w + j])
{
a[w + j] = a[j] + p;
if(a[w + j] > res)
res = a[w + j];
if(w + j > max)
max = w + j;
}
}
}
void write()
{
FILE *g = fopen("rucsac.out", "w");
fprintf(g, "%d\n", res);
fclose(g);
}
int main()
{
solve();
write();
return 0;
}