Pagini recente » Cod sursa (job #1788629) | Cod sursa (job #1520572) | Cod sursa (job #3211147) | Borderou de evaluare (job #1841036) | Cod sursa (job #1710316)
#include <stdio.h>
#include <string.h>
#include <iostream>
#define DIM 1005
#define INF 9999999
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]);
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;
}