Cod sursa(job #670298)

Utilizator wink.itsgoneDragusanu Ana wink.itsgone Data 28 ianuarie 2012 20:28:30
Problema Problema rucsacului Scor 0
Compilator cpp Status done
Runda Arhiva educationala Marime 0.45 kb
#include<cstdio>
#include <algorithm>
#define GMAX 10002
using namespace std;
int n,i,j,L,G,d[2][GMAX];
int main()
{
 freopen("rucsac.in","rt",stdin);
 freopen("rucsac.out","wt",stdout);
 scanf("%d%d",&n,&G);
 for(i=1;i<=n;++i) scanf("%d%d",&a[i].g,&a[i].c);
 for(i=1;i<=n;i++,L=1-L)
	for(int j=0;j<=G;j++)
		{d[1-L][j]=d[L][j];
		 if(a[i].g<=j) d[1-L][j] = max(d[1-L][j], d[L][j - a[i].g] + a[i].c); 
		}
 printf("%d\n",d[L][G]);
 return 0;
}