Cod sursa(job #176155)

Utilizator bogdanhm999Casu-Pop Bogdan bogdanhm999 Data 10 aprilie 2008 19:59:41
Problema Energii Scor 95
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.68 kb
#include <stdio.h>
#define inf 2000000000

long n,i,j,w,e[1003],c[1003];
long cmin[5003],ctmin;

int main(){
    freopen("energii.in","r",stdin);
    freopen("energii.out","w",stdout);
    
    scanf("%ld",&n);
    scanf("%ld",&w);
    for (i=1;i<=n;i++)
        scanf("%ld %ld",&e[i],&c[i]);
    
    for (i=1;i<=w;i++)
        cmin[i]=inf;
    ctmin=inf;
    cmin[0]=0;
    for (i=1;i<=n;i++)
        for (j=w-1;j>=0;--j)
            if (j+e[i]<w){
               if (cmin[j+e[i]]>cmin[j]+c[i])
                  cmin[j+e[i]]=cmin[j]+c[i];
            }
            else if (cmin[j]+c[i]<ctmin)ctmin=cmin[j]+c[i];
    printf("%ld\n",ctmin);
    
    return 0;
}