Cod sursa(job #1054711)

Utilizator ade_tomiEnache Adelina ade_tomi Data 14 decembrie 2013 10:03:39
Problema Energii Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.79 kb
#include<stdio.h>
int g,i,n,sum[10000004],j,pus[10000004],c[1001],gr[1001],s;
int main()
{
    freopen("energii.in","r",stdin);
    freopen("energii.out","w",stdout);
    scanf("%d%d",&n,&g);
    for(i=1;i<=n;i++)
    {
        scanf("%d%d",&gr[i],&c[i]);
        s+=gr[i];
    }
    for(i=1;i<=s;i++)
        sum[i]=100000001;
    for(i=1;i<=n;i++)
    {
        sum[gr[i]]=c[i];
        pus[gr[i]]=i;
        for(j=1;j<=s;j++)
        {
            if(sum[j]+c[i]<sum[j+gr[i]]&&pus[j]!=i)
            {
                sum[j+gr[i]]=sum[j]+c[i];
                pus[j+gr[i]]=i;
            }
        }
    }
    int ok=1;
    for(i=g;i<=s&&ok==1;i++)
    {
        if(pus[i]!=0)
        {
            printf("%d",sum[i]);
            ok=0;
        }

    }
    return 0;
}