Pagini recente » Cod sursa (job #1811595) | Cod sursa (job #2286971) | Cod sursa (job #1627748) | Cod sursa (job #1522183) | Cod sursa (job #2000706)
#include <cstdio>
using namespace std;
int d[100005];
int main()
{
freopen("energii.in","r",stdin);
freopen("energii.out","w",stdout);
int G,W,g,w,last,i,j,cmin;
scanf("%d",&G);
scanf("%d",&W);
last=0;
for(i=1;i<=G;i++)
{
scanf("%d%d",&g,&w);
for(j=last;j>=0;j--)
{
if(d[j+g]<d[j]+w)
d[j+g]=d[j]+w;
if(j+g>last)
last=j+g;
}
}
cmin=d[last];
if(last<W)
printf("-1");
else
{
for(j=last;j>=W;j--)
if(cmin>d[j]&&d[j]>0)
cmin=d[j];
printf("%d",cmin);
}
return 0;
}