Pagini recente » Cod sursa (job #1213803) | Cod sursa (job #2843171) | Cod sursa (job #2662165) | Cod sursa (job #1492428) | Cod sursa (job #2695268)
#include <bits/stdc++.h>
using namespace std;
ifstream fin("energii.in");
ofstream fout("energii.out");
int n, m, sum;
struct elem{
int energie, cost;
};
elem v[1005];
long long dp[5005];
int main()
{
fin >> n >> m;
for(int i = 1; i <= n; i ++)
{
fin >> v[i].energie >> v[i].cost;
sum += v[i].energie;
}
for(int i = 1; i <= m; i ++)
dp[i] = INT_MAX;
dp[0] = 0;
if(sum < m)
{
fout << -1;
return 0;
}
for(int i = 1; i <= n; i ++)
{
for(int j = m - v[i].energie; j >= 0; j --)
{
dp[j + v[i].energie] = min(dp[j + v[i].energie], dp[j] + v[i].cost);
}
}
fout << dp[m] << '\n';
}