Pagini recente » Cod sursa (job #1654479) | Cod sursa (job #1559860) | Cod sursa (job #2327271) | Cod sursa (job #420001) | Cod sursa (job #333780)
Cod sursa(job #333780)
#include<stdio.h>
int main(){
int i,j;
int W,n,w[1001],c[1001],v[5001]={0};
freopen("energii.in","r",stdin);
freopen("energii.out","w",stdout);
scanf("%d%d",&n,&W);
for(i=1;i<=n;i++)
scanf("%d%d",&w[i],&c[i]);
v[0]=1;
v[W]=0x3f;
for(i=1;i<=n;i++)
for(j=W-1;j>=0;j--)
if(v[j]){
if(j+w[i]>=W && v[j]+c[i]<v[W])
v[W]=v[j]+c[i];
else
if(w[j+w[i]]){
if(v[j]+c[i]<v[j+w[i]])
v[j+w[i]]=v[j]+c[i];
}
else
v[j+w[i]]=v[j]+c[i];
}
if(v[W]!=0x3f)
printf("%d",v[W]-1);
else
printf("-1");
return 0;
}