Cod sursa(job #1732571)

Utilizator AnaRaduAna-Maria Radu AnaRadu Data 21 iulie 2016 22:29:54
Problema Energii Scor 95
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.65 kb
#include <stdio.h>
#define lim 10000
int v[lim+5];
int main(){
    freopen("energii.in","r",stdin);
    freopen("energii.out","w",stdout);
    int i,j,n,m,val=0,min=2000000000,e,c;
    scanf("%d%d",&n,&m);
    for(i=1;i<=lim;i++)
        v[i]=2000000000;
    for(i=1;i<=n;i++){
        scanf("%d%d",&e,&c);
        if(val+e<=lim)
            val+=e;
        else
            val=lim;
        for(j=val;j>=e;j--)
            if(v[j]>v[j-e]+c)
                v[j]=v[j-e]+c;
    }
    for(i=m;i<=val;i++)
        if(v[i]<min)
            min=v[i];
    if(min==lim)
        printf("-1");
    else
        printf("%d",min);
return 0;
}