Cod sursa(job #178532)

Utilizator AlxCojocaru Alexandru Alx Data 14 aprilie 2008 18:33:32
Problema Energii Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.55 kb
#include <stdio.h>
int g,w,eg[1001],cg[1001],a[20000];
int main()
{
    freopen("energii.in","r",stdin);
    freopen("energii.out","w",stdout);
    scanf("%d\n%d\n",&g,&w);
    int i,j;
    for (i=0;i<g;i++)
    {
        scanf("%d %d\n",&eg[i],&cg[i]);
        if (a[eg[i]]>cg[i]||!a[eg[i]])
            a[eg[i]]=cg[i];
    }
    for (i=0;i<g;i++)
        for (j=1;j<w;j++)
            if (a[j]&&(a[j+eg[i]]>a[j]+cg[i]||!a[j+eg[i]]))
                a[j+eg[i]]=a[j]+cg[i];
    for (i=w;!a[i];i++);
    printf("%d\n",a[i]);
    return 0;
}