Cod sursa(job #2267581)

Utilizator CalinMihaiCalin Mihai CalinMihai Data 23 octombrie 2018 19:38:48
Problema Energii Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.68 kb
#include <iostream>
#include <fstream>
#include <algorithm>
using namespace std;

ifstream fin("energii.in");
ofstream fout("energii.out");

int costmax[10001], engmax, gen;
int g, eng, i, sum;

int main()
{
	fin >> gen >> engmax;

	for (sum = 1; sum <= 2 * engmax; sum++) 
		costmax[sum] = 10000010;

	for (i = 1; i <= gen; i++)
	{
		fin >> g >> eng;
		for (sum = 2 * engmax; sum >= g; sum--)
			costmax[sum] = min(costmax[sum], eng + costmax[sum - g]);

	}

	int mini = 10000010;

	for (i = engmax; i <= 2 * engmax; i++)
		if (costmax[i] != 10000010)
			mini = min(mini, costmax[i]);

	if (mini == 10000010)
		fout << -1;
	else
		fout << mini;


	return 0;
}