Cod sursa(job #808874)

Utilizator dobrebogdanDobre Bogdan Mihai dobrebogdan Data 7 noiembrie 2012 16:00:14
Problema Problema rucsacului Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.43 kb
#include<stdio.h>
int a[10000];
int g[5000];
int p[5000];
int main()
{
	freopen("rucsac.in","r",stdin);
	freopen("rucsac.out","w",stdout);
	int n,ge,i,j,sol;
	sol=0;
	scanf("%d%d",&n,&ge);
	for(i=1;i<=n;i++)
		scanf("%d%d",&g[i],&p[i]);
	a[0] = 0;
for(i=1;i<=n;++i)
for(j=ge-g[i];j>=0;--j) 
{
if(a[j+g[i]]<a[j] + p[i] )
{
a[j+g[i]] =a[j] + p[i];
if(a[j+g[i]] > sol)
sol =a[j+g[i]];
}
}
printf("%d", sol);
return 0;
}