Cod sursa(job #2955775)

Utilizator apocal1ps13Stefan Oprea Antoniu apocal1ps13 Data 17 decembrie 2022 19:35:51
Problema Energii Scor 0
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.65 kb
#include<fstream>
std::ifstream cin("energii.in");
std::ofstream cout("energii.out");
using namespace std;
int weight[10001];
int n, w;
pair<int, int>elements[5001];
int main() {
	cin >> n >> w;
	for (int i = 0; i <= w; i++) weight[i] = 0x3F3F3F3F;
	for (int i = 1; i <= n; i++) cin >> elements[i].second >> elements[i].first;
	weight[0] = 0;
	for (int i = 1; i <= n; i++)
		for (int W = w; W >= 0; W--)
			if (elements[i].second >= W) weight[W] = min(weight[W], elements[i].first);
			else weight[W] = min(weight[W - elements[i].second] + elements[i].first, weight[W]);
	if (weight[w] == 0x3F3F3F3F) weight[i] = -1;
	cout << weight[w];
	return 0;
}