Pagini recente » Cod sursa (job #1370787) | Cod sursa (job #3240289) | Cod sursa (job #3279329) | Cod sursa (job #2982358) | Cod sursa (job #1020622)
#include<cstdio>
#include<iostream>
using namespace std;
int n,w,E,C,Max,sol=1<<30,v[15005];
int main()
{
int i,j;
freopen("energii.in","r",stdin);
freopen("energii.out","w",stdout);
scanf("%d%d",&n,&w);
for (i=1;i<=15000;++i) v[i]=1<<30;
for (i=1;i<=n;++i)
{
scanf("%d%d",&E,&C);
Max=max(Max,E);
for (j=w+Max;j>=E;--j)
if (v[j-E]+C<v[j])
v[j]=v[j-E]+C;
}
for (i=w;i<=w+Max;++i)
sol=min(sol,v[i]);
if (sol==1<<30) printf("-1\n");
else printf("%d\n",sol);
return 0;
}