Pagini recente » Cod sursa (job #1133595) | Cod sursa (job #884805) | Cod sursa (job #1500599) | Cod sursa (job #1628189) | Cod sursa (job #751944)
Cod sursa(job #751944)
#include <cstdio>
struct poturi{
int suma,cost;
};
poturi pot[1000000];
struct valori{
int en,co;
};
valori val[10000];
int main (){
long long s;
int g,i,j,w,min=1111111;
freopen("energii.in","r",stdin);
freopen("energii.out","w",stdout);
scanf("%d %d", &g,&w);
for(i=1;i<=g;++i)
scanf("%d %d", &val[i].en,&val[i].co);
s=w*2;
pot[0].suma=1;
for(j=1;j<=g;++j){
for(i=s-val[j].en;i>=0;--i)
if(pot[i].suma){
if(pot[i+val[j].en].cost==0||val[j].co+pot[i].cost<pot[i+val[j].en].cost) pot[i+val[j].en].cost=val[j].co+pot[i].cost;
pot[i+val[j].en].suma=1;
}
}
for(i=w;i<=s;++i)
if(pot[i].suma)
if(pot[i].cost<min)min=pot[i].cost;
printf("%d",min);
}