Pagini recente » Cod sursa (job #2969657) | Cod sursa (job #1241032) | Cod sursa (job #1993158) | Cod sursa (job #1025157) | Cod sursa (job #2940546)
#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;