Cod sursa(job #1350343)

Utilizator ignadariusIgna Darius ignadarius Data 20 februarie 2015 19:25:25
Problema Energii Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.79 kb
#include <iostream>
#include <fstream>

using namespace std;
int n,e_necesara,cant_e[10000],cost[10000],a[100000],sol,s,c,k;
ifstream f("energii.in");
ofstream g("energii.out");
int main()
{
    f>>n;
    f>>e_necesara;
    for(int i=1; i<=n; i++)
        {
            f>>cant_e[i]>>cost[i];
            c+=cost[i];
            s+=cant_e[i];
        }
    if(s<e_necesara)g<<-1;
        else
    if(s==e_necesara)g<<c;
        else
        {
            for(int i=1; i<=e_necesara; i++)
            a[i]=100000;

    for(int i=1; i<=n; i++ )
        for(int j=e_necesara; j>=1; j--)
        {
            if(cant_e[i]>=j)a[j]=min(a[j],cost[i]);
                else a[j]=min(a[j],a[j-cant_e[i]]+cost[i]);
        }
        sol=a[e_necesara];
        g<<sol;

        }

}