Cod sursa(job #2640458)

Utilizator dream3rDavid Pop dream3r Data 6 august 2020 15:40:03
Problema Energii Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.74 kb
//#include "pch.h"
#include <iostream>
#include <vector>
#include <fstream>
#include <algorithm>
using namespace std;
ifstream f("energii.in");
ofstream o("energii.out");

const int oo = (int)(1e9);

int g, w, e[1001], c[1001], dp[1001][5001];

int main()
{
	f >> g >> w;

	for (int i = 1; i <= g; i++)
		for (int j = 1; j <= w; j++)
			dp[i][j] = oo;

	for (int i = 1; i <= g; i++)
		f >> e[i] >> c[i];

	dp[1][e[1]] = c[1];

	for (int i = 2; i <= g; i++)
	{
		for (int j = 1; j <= w; j++)
		{
			dp[i][j] = dp[i - 1][j];
			if (e[i] <= j)
				dp[i][j] = min(dp[i][j], dp[i - 1][j - e[i]] + c[i]);
			else
				dp[i][j] = min(dp[i][j], c[i]);
		}
	}

	if (dp[g][w] != oo)
		o << dp[g][w];
	else
		o << -1;
	return 0;
}