Cod sursa(job #1681434)

Utilizator andrei32576Andrei Florea andrei32576 Data 9 aprilie 2016 14:13:45
Problema Energii Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.67 kb
#include<fstream>
using namespace std;
int RG[5001],G,W,i,k,ce,cc;
ifstream f("energii.in");
ofstream g("energii.out");
int main()
{
    f>>G>>W;
    for(i=1;i<=W;i++)
        RG[i]=2000000000;
    for(k=1;k<=G;k++)
    {
        f>>ce>>cc;
        for(i=W;i>=1;--i)
        {
            if(RG[i]!=2000000000)
            {
                if(i+ce>=W && RG[i]+cc<RG[W])
                    RG[W] = RG[i] + cc;
                if(i+ce<W && RG[i]+cc<RG[i+ce])
                    RG[i+ce]=RG[i]+cc;
            }
        }
        if(cc<RG[ce])
            RG[ce]=cc;
    }
    if(RG[W] == 2000000000)
       g<<-1;
    else
        g<<RG[W];
    return 0;
}