Cod sursa(job #1743282)

Utilizator FredyLup Lucia Fredy Data 17 august 2016 21:39:14
Problema Energii Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.78 kb
#include <iostream>
#include <fstream>

using namespace std;

ifstream fin("energii.in");
ofstream fout("energii.out");

#define lim 1005
int g,maxm;
int en[lim],c[lim];
int a[lim][5005];
int i,j;
long long s;

int main()
{
    fin>>g>>maxm;
    for(i=1; i<=g; i++)
        fin>>en[i]>>c[i], s+=en[i];
    if(s<maxm)
    {
        fout<<"-1";
        return 0;
    }

    for(i=0; i<=maxm; i++)
        a[0][i]=200000000;

    for(i=1; i<=g; i++)
        for(j=1; j<=maxm; j++)
            {
                if(j<en[i])
                    a[i][j]=min(a[i-1][j] , c[i]);
                else
                    a[i][j]=min(a[i-1][j] , a[i-1][j-en[i]]+c[i]);
            }

    fout<<a[g][maxm];


    fin.close();
    fout.close();
    return 0;
}