Cod sursa(job #1134867)

Utilizator vladdy47Bucur Vlad Andrei vladdy47 Data 6 martie 2014 22:57:59
Problema Energii Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.67 kb
#include <cstdio>
#include <algorithm>
#define INF 1000000000
using namespace std;
int n, w, en[1005], cost[1005], l[5005], ll[5005],i,j;

int main()
{
    freopen("energii.in","r",stdin);
    freopen("energii.out","w",stdout);

    scanf ("%d%d",&n,&w);
    for(i=1; i<=n; ++i)
        scanf ("%d%d",&en[i],&cost[i]);
    for(i=1; i<=w; ++i)
        l[i]=INF;
    for(i=1; i<=n; ++i){
        for(j=1; j<=w; j++)
            if(en[i]>=j) ll[j]=min(l[j], cost[i]);
            else ll[j]=min(l[j], l[j-en[i]] + cost[i]);
        for(j=1; j<=w; j++)
            l[j]=ll[j];
    }
    if(ll[w]==INF) printf("-1\n");
    else printf("%d",ll[w]);


return 0;
}