Cod sursa(job #700732)

Utilizator balakraz94abcd efgh balakraz94 Data 1 martie 2012 11:45:33
Problema Problema rucsacului Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.69 kb
#include<cstdio>
#include<algorithm>
#define infile "rucsac.in"
#define outfile "rucsac.out"
#define n_max 5005
#define g_max 10005
using namespace std;

int Bst[g_max];

int G[n_max], C[n_max];

int N, S;


void citeste()
{
	freopen(infile,"r",stdin);
	
	scanf("%d %d", &N, &S);
	
	for(int i=1;i<=N;i++)
		scanf("%d %d", &G[i], &C[i]);
	
	fclose(stdin);
}


void rezolva()
{	
	for(int i=1; i<=N; ++i)
		for(int j = S; j - G[i] >= 0; --j)
			Bst[j] = max(Bst[j], Bst[j - G[i]] + C[i]);
}


void afiseaza()
{
	freopen(outfile,"w",stdout);
	
	printf("%d\n", Bst[S]);
	
	fclose(stdout);
}


int main()
{
	citeste();
	rezolva();
	afiseaza();
	
	return 0;
}