Cod sursa(job #826213)

Utilizator anarogozAna Rogoz anarogoz Data 30 noiembrie 2012 14:13:42
Problema Problema rucsacului Scor 10
Compilator cpp Status done
Runda Arhiva educationala Marime 0.45 kb
#include<stdio.h>
int d[5][10005];
int max(int a,int b)
{
	if(a>b)
		return a;
	else
		return b;
}
int main()
{
	freopen("rucsac.in","r",stdin);
	freopen("rucsac.out","w",stdout);
	int n,gr,w,g,j,i;
	scanf("%d%d",&n,&gr);
	for(i=1;i<=n;i++)
	{
		scanf("%d%d",&g,&w);
		for(j=1;j<g;j++)
			d[i%2][j]=d[(i-1)%2][j-1];
		for(j=g;j<=gr;j++)
			d[i%2][j]=max(d[(i-1)%2][j],d[(i-1)%2][j-g]+w);
	}
	printf("%d",d[n%2][gr]);
	return 0;
}