Cod sursa(job #2049658)

Utilizator ale.sicobeanAlexandra Sicobean ale.sicobean Data 27 octombrie 2017 15:20:00
Problema Energii Scor 5
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.66 kb
#include <iostream>
#include <fstream>
using namespace std;
ifstream fin("energii.in");
ofstream fout("energii.out");
int e[1005], c[1005], a[6005];
int main()
{
    int g,w,i,j,d,s=0;
    fin>>g>>w;
    for(i=1;i<=g;i++)
    {
        fin>>e[i]>>c[i];
        s+=e[i];
    }
    if(s<w)
    {
        fout<<-1;
        return 0;
    }
    for(i=1;i<=6002;i++)
    {
        a[i]=2000000000;
    }
    for(i=1;i<=w;i++)
    {
        for(j=w;j>=e[i];j--)
        {
            a[j]=min(a[j-e[i]]+c[i],a[j]);
        }
        for(j=e[i];j>=1;j--)
        {
            a[j]=min(a[j],c[i]);
        }
    }
        fout<<a[w];
    return 0;
}