Pagini recente » Cod sursa (job #1975947) | Cod sursa (job #2714595) | Cod sursa (job #1002747) | Rating Stana Vlad (VladStana) | Cod sursa (job #317038)
Cod sursa(job #317038)
#include <stdio.h>
#define Nmax 1024
#define Wmax 550000
int n,w,v[Nmax],c[Nmax],b[2][Wmax],max=4000000,cnt;
int main()
{
int i,j;
freopen("energii.in","r",stdin);
freopen("energii.out","w",stdout);
scanf("%d%d",&n,&w);
for(i=1;i<=n;++i)
{
scanf("%d%d",&v[i],&c[i]);
if(v[i]>=w)
{
if(c[i]<max)
max=c[i];
--i;
--n;
}
}
b[0][0]=1;
b[1][0]=0;
for(i=1;i<=n;++i)
{
for(j=w-1;j>=0;--j)
if(b[0][v[i]+b[0][j]]==0 && b[0][j]==1)
{
b[0][v[i]+j]=1;
b[1][v[i]+j]=b[1][j]+c[i];
}
else
if(b[1][v[i]+j]<b[1][j]+c[i] && b[0][j]==1)
b[1][v[i]+j]=b[1][j]+c[i];
}
for(i=w;i<=10001;++i)
if(b[1][i]<max && b[0][i]==1)
max=b[1][i];
printf("%d",max);
return 0;
}