Pagini recente » Cod sursa (job #2035186) | Cod sursa (job #2771866) | Cod sursa (job #1213637) | Cod sursa (job #297425) | Cod sursa (job #1710357)
#include <stdio.h>
#include <string.h>
#include <iostream>
#define DIM 1005
#define INF 20000000
using namespace std;
int g,w,eg[DIM],cg[DIM],dp[5005];
int main()
{
freopen("energii.in","r",stdin);
freopen("energii.out","w",stdout);
scanf("%d%d",&g,&w);
for(int i=1;i<=g;i++)
scanf("%d%d",&eg[i],&cg[i]);
for(int i=0;i<5005;i++)
dp[i]=INF;
//memset(dp,INF,sizeof(dp));
for(int i=1;i<=g;i++) {
for(int j=w;j>eg[i];j--)
if(dp[j-eg[i]]+cg[i]<dp[j])
dp[j]=dp[j-eg[i]]+cg[i];
for(int j=eg[i];j>=1;j--)
if(cg[i]<dp[j])
dp[j]=cg[i];
}
if(dp[w]==INF)
printf("-1");
else
printf("%d",dp[w]);
return 0;
}