Cod sursa(job #2955012)

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

	for (int i = 1; i <= n; i++)
		for (int j = 1; j <= w; j++)dp[i][j] = 0x3F3F3F3F;

	for (int i = 1; i <= n; i++)
		for (int j = e[i]; j <= w; j++)
			if (dp[i][j] > dp[i - 1][j - e[i]] + c[i]) {
				dp[i][j] = dp[i - 1][j - e[i]] + c[i];
			}

	if (dp[n][w] == 0x3F3F3F3F) dp[n][w] = -1;
	out << dp[n][w];
}