Cod sursa(job #748199)

Utilizator Kira96Denis Mita Kira96 Data 12 mai 2012 17:37:34
Problema Problema rucsacului Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.45 kb
#include<stdio.h>
#define maxn 5001
#define maxg 10001
using namespace std;
int W[maxn],P[maxn],N,G,i,j,sol;
int O[maxg];
int main() 
{
	freopen("rucsac.in", "r", stdin);
	freopen("rucsac.out", "w", stdout);
	scanf("%d%d",&N,&G);
	for (i=1;i<=N;++i) 
		scanf("%d%d",&W[i],&P[i]);
	for(i=1;i<=N;++i)
		for(j=G-W[i];j>=0;--j)
			if(O[j+W[i]]<O[j]+P[i])
			{
				O[j+W[i]]=O[j]+P[i];
				if(O[j+W[i]]>sol)
					sol=O[j+W[i]];
			}
	printf("%d", sol);
	return 0;
}