Cod sursa(job #2259418)
| Utilizator | Data | 13 octombrie 2018 12:11:52 | |
|---|---|---|---|
| Problema | Energii | Scor | 100 |
| Compilator | cpp-64 | Status | done |
| Runda | Arhiva de probleme | Marime | 0.56 kb |
#include <bits/stdc++.h>
using namespace std;
ifstream f("energii.in");
ofstream g("energii.out");
const int Inf = 0x3f3f3f3f;
int v[10001], n, G, m, c, i, j;
int main()
{
f >> n >> G;
for(i = 1; i <= G; i ++)
v[i] = Inf;
for(i = 1; i <= n; i ++)
{
f >> c >> m;
for(j = G; j >= 0; j --)
{
if(j > c) v[j] = min(v[j - c] + m, v[j]);
else v[j] = min(v[j], m);
}
}
if(v[G] == Inf) g << -1;
else g << v[G];
return 0;
}
