Pagini recente » Cod sursa (job #1793120) | Cod sursa (job #527817) | Cod sursa (job #2257648) | Cod sursa (job #1792781) | Cod sursa (job #1708389)
#include<cstdio>
#define Inf 1000000000
using namespace std;
int BEST[5050];
typedef struct tip
{
int E,C;
};
int n,w;
tip v[1005];
int main()
{
freopen("energii.in","r",stdin);
freopen("energii.out","w",stdout);
scanf("%d%d",&n,&w);
for(int i=1;i<=n;i++)
{
scanf("%d%d",&v[i].E,&v[i].C);
}
for(int i=1;i<=w;i++)
{
BEST[i]=Inf;
}
BEST[0]=0;
for(int i=1;i<=n;i++)
{
for(int j=0;j<=w;j++)
{
if(BEST[j]!=Inf)
{
if ((j+v[i].E)<w)
{
if (BEST[j+v[i].E]>(BEST[j]+v[i].C))
{
BEST[j+v[i].E]=(BEST[j]+v[i].C);
}
}
else
{
if (BEST[w]>(BEST[j]+v[i].C))
{
BEST[w]=(BEST[j]+v[i].C);
}
}
}
}
}
if (BEST[w]==Inf) printf("-1\n");
else printf("%d\n",BEST[w]);
return 0;
}