Pagini recente » Cod sursa (job #1631659) | Cod sursa (job #315193) | Cod sursa (job #1120124) | Cod sursa (job #2146510) | Cod sursa (job #2177861)
#include <iostream>
#include <fstream>
#define dMAX 5000
#define INF 1000005
using namespace std;
int n, energyNeeded;
int energy, cost;
int arr[dMAX + 5];
ifstream fin("energii.in");
ofstream fout("energii.out");
int main()
{
int i, j;
fin >> n >> energyNeeded;
for (i = 1; i <= dMAX; i++) arr[i] = INF;
for (i = 1; i <= n; i++) {
fin >> energy >> cost;
for (j = energyNeeded; j >= 0; j--) {
arr[min(j + energy, energyNeeded)] = min(arr[j + energy, energyNeeded], arr[j] + cost);
}
}
if (arr[energyNeeded] == INF) fout << -1;
else fout << arr[energyNeeded];
return 0;
}