Pagini recente » Cod sursa (job #412330) | Cod sursa (job #3326719) | Cod sursa (job #3309119) | Cod sursa (job #779184) | Cod sursa (job #3309124)
#include <bits/stdc++.h>
#define MAX 10001
#define inf ((int)1e9)
using namespace std;
ifstream in("energii.in");
ofstream out("energii.out");
int dp[MAX]; ///costul minim pentru a produce fiecare cantitate de energie
int main()
{
for(int i=1; i<MAX; i++) dp[i]=inf;
int g, w;
in >> g >> w;
for(int i=1; i<=g; i++)
{
int energie, cost;
in >> energie >> cost;
for(int j=MAX-1; j>=energie; j--)
{
dp[j]=min(dp[j], dp[j-energie]+cost);
}
}
int cost_min=inf; ///costul minim
for(int i=w; i<MAX; i++)
{
cost_min=min(cost_min, dp[i]);
}
if(cost_min==inf) out << "-1";
else out << cost_min;
return 0;
}