Cod sursa(job #2926184)

Utilizator lolismekAlex Jerpelea lolismek Data 17 octombrie 2022 10:02:02
Problema Energii Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.68 kb
#include <iostream>
#include <fstream>

using namespace std;

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

const int N = 1000, G = 10000, inf = 1e9;

struct generator{
	int energy, cost;
}v[N + 1];

int dp[G + 1];

int main(){

	int n, g;
	fin >> n >> g;

	for(int i = 1; i <= n; i++)
		fin >> v[i].energy >> v[i].cost;

	for(int j = 1; j <= G; j++)
		dp[j] = inf;

	for(int i = 1; i <= n; i++)
		for(int j = G; j >= v[i].energy; j--)
			dp[j] = min(dp[j], dp[j - v[i].energy] + v[i].cost);
	
	int ans = inf;
	for(int i = g; i <= G; i++)
		ans = min(ans, dp[i]);

	if(ans == inf)
		fout << -1 << '\n';
	else
		fout << ans << '\n';

	return 0;
}