Cod sursa(job #1502300)

Utilizator RaduMirceaAndreiRadu Mircea Andrei RaduMirceaAndrei Data 14 octombrie 2015 15:53:35
Problema Energii Scor 95
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.85 kb
# include <fstream>
# define INF 5001
using namespace std;
ifstream fin("energii.in");
ofstream fout("energii.out");
long long f[5002],e[1002],s,c[1002],n,lim,i,sf,j,minim,sol,next1;
int main () {
    fin>>n>>lim;
    for(i=1;i<=n;i++){
        fin>>e[i]>>c[i];
        s=s+e[i];
    }
    for(i=1;i<=lim;i++){
        f[i]=INF;
    }
    f[0]=0;
    sol=INF;
    for(i=1;i<=n;i++){
        for(j=lim-1;j>=0;j--){
            if(f[j]!=INF){
                next1 = j+e[i];
                if (next1 > lim)
                    next1 = lim;
                f[next1]=min(f[next1],f[j]+c[i]);
                if(next1 == lim){
                    sol=min(sol,f[lim]);
                }
            }
        }
    }
    if (f[lim] != INF)
        fout<<sol;
    else
        fout<<-1;
    fin.close();
    fout.close();
    return 0;
}