Cod sursa(job #1015220)

Utilizator horatiu11Ilie Ovidiu Horatiu horatiu11 Data 24 octombrie 2013 08:19:36
Problema Energii Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.69 kb
# include <iostream>
# include <cstdio>
# define inf 3000000
using namespace std;
int G,W,i,E[1003],C[1003],j;
int Max,ans,cost[15003];
int main()
{
    freopen("energii.in","r",stdin);
    freopen("energii.out","w",stdout);
    scanf("%d%d",&G,&W);
    for(i=1;i<=G;i++)
    {
        scanf("%d%d",&E[i],&C[i]);
        Max=max(Max,E[i]);
    }
    for(i=1;i<=W+Max;++i)
        cost[i]=inf;
    for(i=1;i<=G;++i)
        for(j=W;j>=0;--j)
            if(cost[j+E[i]]>cost[j]+C[i])
                cost[j+E[i]]=cost[j]+C[i];
    ans=inf;
    for(i=W;i<=W+Max;++i)
        if(ans>cost[i])ans=cost[i];
    if(ans==inf)printf("-1\n");
    else printf("%d\n",ans);
    return 0;
}