Cod sursa(job #767326)

Utilizator Mihai22eMihai Ionut Enache Mihai22e Data 13 iulie 2012 12:06:24
Problema Problema rucsacului Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.54 kb
#include<stdio.h>

#define WMAX 10002

int a[ WMAX ], n, W, max;

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 = W - w; j >= 0; j--)
			if(a[j + w] < a[j] + p)
			{
				a[j + w] = a[j] + p;
				if(a[j + w] > max)
					max = a[j + w];
			}
				
	}
	
}

void write()
{
	FILE *g = fopen("rucsac.out", "w");
	fprintf(g, "%d\n", max);
	fclose(g);
}

int main()
{
	solve();
	write();
	return 0;
}