Cod sursa(job #2864022)

Utilizator vladsipunct5555Butnrau Vlad vladsipunct5555 Data 7 martie 2022 14:56:40
Problema Energii Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.65 kb
#include <bits/stdc++.h>
using namespace std;
#define int long long
ifstream in ("energii.in");
ofstream out ("energii.out");
pair <int, int> v[1001];
int dp[20021];
main ()
{
	int n;
	int w;
	in >> n >> w;
	for (int i = 1;i<=n;++i)
		in >> v[i].first >> v[i].second;
	for (int i = 1;i<=20020;++i)
		dp[i] = 1<<30;
	for (int i = 1;i<=n;++i)
	{
		int e = v[i].first;
		int cost = v[i].second;
		for (int j = 20020;j - e >= 0;--j)
			dp[j] = min(dp[j - e] + cost, dp[j]);
	}
	int cost = 1<<30;
	for (int i = w;i<=20020;++i)
		cost = min (cost, dp[i]);
	if (cost == 1<<30)
		out << -1 << '\n';
	else
		out << cost << '\n';
	return 0;
}