Cod sursa(job #716774)

Utilizator dicu_dariaDaria Dicu dicu_daria Data 19 martie 2012 11:26:04
Problema Problema rucsacului Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.41 kb
#include <fstream>
#include <cstring>
#define MAXN 10010
using namespace std;
int d1[MAXN],d2[MAXN],w,g,i,j,n,p,maxim=0;
int main()
{
	ifstream fi("rucsac.in");
	ofstream fo("rucsac.out");
	fi>>n>>g;
	for(i=1;i<=n;i++)
	{
		fi>>w>>p;
		for(j=0;j<=g;j++)
		if(j+w<=g and d1[j]+p>d2[j+w]) {d2[j+w]=d1[j]+p; if(maxim<d2[j+w]) maxim=d2[j+w];  }
		memcpy(d1,d2,sizeof(d2));
	}
	fo<<maxim<<"\n";
	return 0;
}