Mai intai trebuie sa te autentifici.
Cod sursa(job #2177860)
Utilizator | Data | 18 martie 2018 21:19:15 | |
---|---|---|---|
Problema | Energii | Scor | 10 |
Compilator | cpp | Status | done |
Runda | Arhiva de probleme | Marime | 0.65 kb |
#include <iostream>
#include <fstream>
#define dMAX 5000
#define INF 10005
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;
}