Cod sursa(job #692538)

Utilizator costyv87Vlad Costin costyv87 Data 26 februarie 2012 16:59:39
Problema Problema rucsacului Scor 85
Compilator cpp Status done
Runda Arhiva educationala Marime 0.46 kb
#include <cstdio>
#include <algorithm>
using namespace std;
FILE *f,*g;
struct cp{int g,p;} v[5060];
int sol[10100];
int i,j,n,gr;

int main() {
f=fopen("rucsac.in","r");
g=fopen("rucsac.out","w");

fscanf(f,"%d%d",&n,&gr);

for (i=1;i<=n;i++) 
	fscanf(f,"%d%d",&v[i].g,&v[i].p);

sol[v[1].g]=v[1].p;
for (i=2;i<=n;i++) 
	for (j=gr;j>=1;j--) {
		if (j-v[i].g>=0) 
			sol[j]=max(sol[j-v[i].g]+v[i].p,sol[j]);
		}	

fprintf(g,"%d",sol[gr]);
return 0;
}