Cod sursa(job #1711957)

Utilizator andreiSevastreAndrei Sevastre andreiSevastre Data 1 iunie 2016 17:47:43
Problema Problema rucsacului Scor 65
Compilator cpp Status done
Runda Arhiva educationala Marime 0.57 kb
#include <iostream>
#include <stdlib.h>
#include <stdio.h>

using namespace std;


int v[10001];

int maxim (int a, int b)
{
	return a>b? a:b;
}
int main ()
{
	int n,g,w,p;
	
	freopen ("rucsac.in", "r", stdin);
	freopen ("rucsac.out", "w", stdout);
	
	cin>>n>>g;
	
	for(int i=1;i<=n;i++)
	{
		cin>>w>>p;
		for(int j=g;j>=1;j--)
		{
			if(v[j]!=0)
			{
				
				v[j+w]=maxim(v[j+w], v[j]+p);
			}
		}
		v[w]=maxim(v[w],p);
		
	}
	
	int max=0;
	for(int i=1;i<=g;i++)
	{
		max=maxim(v[i],max);
	}
	
	cout<<max<<endl;
		
	
return 0;
}