Cod sursa(job #2101923)
| Utilizator | Data | 8 ianuarie 2018 11:29:13 | |
|---|---|---|---|
| Problema | Energii | Scor | 100 |
| Compilator | cpp | Status | done |
| Runda | Arhiva de probleme | Marime | 0.62 kb |
#include <fstream>
#include <climits>
using namespace std;
ifstream f("energii.in");
ofstream g("energii.out");
int v[5009],gr,w,e,c,i,j;
int main()
{
f >> gr >> w ;
for ( i = 1 ; i <= w ; i ++ )
v[i]=INT_MAX;
for ( i = 1 ; i <= gr ; i ++ )
{
f >> e >> c;
for ( j = w ; j >= 1 ; j -- )
{
if ( e >= j)
v[j] = min(v[j],c);
else
if(v[j-e] != INT_MAX)
v[j] = min(v[j],v[j-e]+c);
}
}
if ( v[w] == INT_MAX )
g << "-1";
else
g << v[w];
return 0;
}
