Pagini recente » Cod sursa (job #192552) | Cod sursa (job #1697580) | Cod sursa (job #2530864) | Cod sursa (job #1352652) | Cod sursa (job #2236223)
#include <fstream>
#define INF 99999999
using namespace std;
ifstream fin("energii.in");
ofstream fout("energii.out");
int G ,W;
int eg[1002], cg[1002];
int a[5002], b[5002];
int main()
{
fin >> G >> W;
for( int i = 1; i <= G; i++ )
fin >> eg[i] >> cg[i];
for( int i = 1; i <= W; i++ )
a[i] = b[i] = INF;
for( int i = 1; i <= G; i++ )
{
for( int j = 1; j <= W; j++ )
if( j >= eg[i] ) b[j] = min( a[j], a[ j - eg[i] ] + cg[i] );
else b[j] = min( a[j], cg[i] );
for( int j = 1; j <= W; j++ ) a[j] = b[j];
}
if( a[W] != INF ) fout << a[W] << '\n';
else fout << "-1" << '\n';
fin.close();
fout.close();
return 0;
}