Cod sursa(job #826461)

Utilizator anarogozAna Rogoz anarogoz Data 30 noiembrie 2012 19:16:17
Problema Problema rucsacului Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.48 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,la,lc;
	scanf("%d%d",&n,&gr);
	for(i=1;i<=n;i++)
	{
		scanf("%d%d",&g,&w);
		for(j=1;j<=gr;j++)
			{
				la=(i+1)%2;
				lc=i%2;
				if(g>j)
					d[lc][j]=d[la][j];
				else
					d[lc][j]=max(d[la][j],d[la][j-g]+w);
			}
	}
	printf("%d",d[lc][gr]);
	return 0;
}