Cod sursa(job #2101921)
| Utilizator | Data | 8 ianuarie 2018 11:27:42 | |
|---|---|---|---|
| Problema | Energii | Scor | 95 |
| Compilator | cpp | Status | done |
| Runda | Arhiva de probleme | Marime | 0.66 kb |
#include <fstream>
#include <climits>
using namespace std;
ifstream f("energii.in");
ofstream g("energii.out");
/*struct energie{
int e, c;
}a[1009];*/
int v[5002],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;
}
