Pagini recente » Cod sursa (job #1498536) | Cod sursa (job #2217546) | Cod sursa (job #2946880) | Cod sursa (job #2254314) | Cod sursa (job #1570800)
#include <iostream>
#include <fstream>
#define INFP 1<<30
using namespace std;
ifstream fin ("energii.in" );
ofstream fout("energii.out");
int EG[1008], CG[1008], dp[1002][80000];
int main()
{
long long g,w,nre=0;
fin>>g>>w;
for( int i=1 ; i<=g ; i++ )
{
fin>>EG[i]>>CG[i];
nre+=EG[i];
}
for ( int i=0 ; i<=2 ; i++ )
for ( int j=0 ; j<=w ; j++ )
dp[i][j] = INFP;
for( int i=1 ; i<=g ; i++ )
for( int j=0 ; j<=w ; j++ )
if(EG[i]<j)
dp[i][j] = min(dp[i-1][j], dp[i-1][j-EG[i]]+CG[i]);
else
dp[i][j] = min(dp[i-1][j], CG[i]);
if ( nre < w )
{
fout << -1;
return 0;
}
fout<<dp[g][w];
}