Cod sursa(job #2955028)

Utilizator apocal1ps13Stefan Oprea Antoniu apocal1ps13 Data 15 decembrie 2022 22:56:56
Problema Energii Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.55 kb
#include<iostream>
#include<fstream>
#define INF 0x3F3F3F3F
std::ifstream in("energii.in");
std::ofstream out("energii.out");
using namespace std;
int dp[5001];
int e[1001], c[1001];
int n, w, sum;
int main() {
	in >> n >> w;
	for (int i = 1; i <= w; i++) dp[i] = INF;
	for (int i = 1; i <= n; i++) in >> e[i] >> c[i];
	dp[0] = 0;
	for (int i = 1; i <= n; i++)
		for (int j = w; j >= 1; j--)
			if (e[i] >= j) dp[j] = min(dp[j], c[i]);
			else dp[j] = min(dp[j - e[i]] + c[i], dp[j]);
	if (dp[w] == INF)dp[w] = -1;
	out << dp[w];
	return 0;
}