Cod sursa(job #1347812)

Utilizator superalin98Hassan Alin Ali superalin98 Data 19 februarie 2015 11:38:47
Problema Problema rucsacului Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.52 kb
#include <fstream>
#include <algorithm>

using namespace std;

int d[10001];
int main()
{
	ifstream cin ("rucsac.in");
	ofstream cout("rucsac.out");
	int n, g, i, j, gr, p, max1 = 0, pmax=0;
	cin>>n>>g;
	for(i = 1;i<=g;i++)
		d[i]=-1;
	for(i = 1;i<=n;i++)
	{
		cin>>gr>>p;
		for(j = max1; j>=0; j--)
		{
			if(j + gr <= g)
			if(d[j]!=-1)
			{
				d[j+gr] = max(d[j+gr], d[j]+p);
				if(j+gr>max1)
					max1 = j+gr;
			}
		}
	}
	for(i = g;i>0; i--)
		if(d[i]>pmax) pmax = d[i];

	cout<<pmax;
}