Pagini recente » Cod sursa (job #2223369) | Cod sursa (job #671148) | Cod sursa (job #2201203) | Cod sursa (job #1148069) | Cod sursa (job #1068426)
#include <cstdio>
#include <memory.h>
#include <algorithm>
#define Gmax 5005
#define INF 0x3f3f3f3f
using namespace std;
int N,CP,E,C,DP[Gmax];
int main()
{
freopen( "energii.in" , "r" , stdin );
freopen( "energii.out" ,"w" , stdout );
scanf( "%d %d" , &N , &CP );
memset( DP , INF , sizeof( DP ) );
DP[0] = 0;
for(int i = 1; i <= N; ++i)
{
scanf( "%d %d" , &E , &C );
for(int j = CP; j >= 0; --j)
if(j - E >= 0)
{
if(DP[j] > DP[j - E] + C)
DP[j] = DP[j - E] + C;
}
else
DP[ j ] = min(DP[ j ] , C);
}
fclose(stdin);
printf( "%d" , DP[ CP ]!= INF ? DP[CP] : -1);
fclose(stdout);
return 0;
}