Pagini recente » Cod sursa (job #308641) | Cod sursa (job #250894) | Cod sursa (job #140369) | Cod sursa (job #2153770) | Cod sursa (job #767319)
Cod sursa(job #767319)
#include<stdio.h>
#define WMAX 10002
int a[ WMAX ], n, W;
void solve()
{
int i, j, max = 0, 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( (a[j] || !j) && ( !a[w + j] || p + a[j] > a[w + j]) && j + w <= W )
{
a[w + j] = p + a[j];
if(w + j > max)
max = w + j;
}
}
}
void write()
{
FILE *g = fopen("rucsac.out", "w");
fprintf(g, "%d\n", a[W]);
fclose(g);
}
int main()
{
solve();
write();
return 0;
}