Pagini recente » Cod sursa (job #1057152) | Cod sursa (job #1269413) | Cod sursa (job #1325550) | Cod sursa (job #2313189) | Cod sursa (job #1253041)
#include <cstdio>
#include <algorithm>
#define Nmax 1005
#define Wmax 5005
#define INF 2000000000
using namespace std;
int dp[Nmax][Wmax],G[Nmax],C[Nmax];
int main()
{
int i,j,N,W;
freopen ("energii.in","r",stdin);
freopen ("energii.out","w",stdout);
scanf("%d%d", &N,&W);
for(i=1;i<=N;++i)
scanf("%d%d", &G[i],&C[i]);
for(i=1;i<=W;++i) dp[0][i]=INF;
for(i=1;i<=N;++i)
for(j=0;j<=W;++j)
dp[i][j]=min(dp[i-1][j],dp[i-1][max(0,j-G[i])]+C[i]);
if(dp[N][W]==INF) printf("-1\n");
else printf("%d\n", dp[N][W]);
return 0;
}