Cod sursa(job #1088785)

Utilizator drobertDumitru Robert drobert Data 20 ianuarie 2014 20:15:53
Problema Problema rucsacului Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.51 kb
#include <fstream>
using namespace std;
ifstream cin( "rucsac.in" );
ofstream cout( "rucsac.out" );

int n, g, v[ 10001 ], w[ 5001 ];
int sol, p[ 5001 ];

int main()
{
	int i, j;
	cin >> n >> g;
	for ( i = 1; i <= n; i++ )
		cin >> w[ i ] >> p[ i ];
	v[ 0 ] = 0;
	for ( i = 1; i <= n; i++ )
		for ( j = g - w[ i ]; j >= 0; j-- )
			if ( v[ j + w[ i ] ] < v[ j ] + p[ i ] )
			{
				v[ j + w[ i ] ] = v[ j ] + p[ i ];
				if ( v[ j + w[ i ] ] > sol )
					sol = v[ j + w[ i ] ];
			}
	cout << sol;
}