Cod sursa(job #811317)

Utilizator macauaMacaua Online macaua Data 11 noiembrie 2012 21:51:41
Problema Energii Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.63 kb
#include <iostream>
#include <fstream>

using namespace std;

int min(int a, int b)
{
	return a > b ? b : a;
}
int max(int a, int b)
{
	return a > b ? a : b;
}
using namespace std;

int main()
{
	int G, W, EG, CG, i, j, D[100][100];

	freopen("energii.in", "r", stdin);
	freopen("energii.out", "w", stdout);

	cin>>G>>W;

	for(i=1;i<=G;++i)
		for(j=0;j<=W;++j)
			D[i][j] = 99999;

	for(i=1;i<=G;++i)
	{
		cin>>EG>>CG;
		
		for(j=0;j<=W;++j)
		{

			if(j < EG)
				D[i][j] = D[i-1][j];
			else
				D[i][j] = min(D[i][j], CG + D[i-1][j - EG]);
		
		}
	}
	
	cout<<D[G][W]<<"\n";

	return 0;
	
}