Cod sursa(job #2699185)
| Utilizator | Data | 23 ianuarie 2021 19:38:35 | |
|---|---|---|---|
| Problema | Energii | Scor | 0 |
| Compilator | cpp-64 | Status | done |
| Runda | Arhiva de probleme | Marime | 0.51 kb |
#include <fstream>
using namespace std;
ifstream fin( "energii.in" );
ofstream fout( "energii.out" );
const int GMAX = 1000;
int v[GMAX + 1];
int main() {
int n, i, j, p, c, g;
fin >> n >> g;
for( i = 1; i <= g; ++i )
v[i] = (1 << 30);
for( i = 0; i < n; ++i ){
fin >> p >> c;
for( j = g; j >= 0; --j ){
if( j - p >= 0 )
v[j] = min(v[j], c + v[j - p]);
else
v[j] = min(v[j], c);
}
}
fout << (v[g] == (1 << 30) ? -1 : v[g]);
return 0;
}
