Pagini recente » Cod sursa (job #183338) | Cod sursa (job #458866) | Cod sursa (job #3002776) | Cod sursa (job #158898) | Cod sursa (job #3269019)
#include <bits/stdc++.h>
using namespace std;
#define MAX 10000
int G, W, e[MAX], c[MAX], dp[MAX];
ifstream fin("energii.in");
ofstream fout("energii.out");
int main()
{
fin>>G>>W;
for (int i = 0; i<G; i++) fin>>e[i]>>c[i];
for (int i = 0; i<=W; i++) dp[i] = INT_MAX;
dp[0]=0;
for (int gen = 0; gen<G; gen++)
{
for (int i = W; i>=0; i--)
{
if (dp[i]!=INT_MAX)
{
int pos = min(i+e[gen], W);
dp[pos] = min(dp[pos], dp[i]+c[gen]);
}
}
}
fout<<(dp[W]==INT_MAX)?(-1):(dp[W]);
}