Cod sursa(job #1350538)

Utilizator nbogdan1Bogdan Noana nbogdan1 Data 20 februarie 2015 20:30:50
Problema Energii Scor 10
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.8 kb
#include <fstream>
#include <limits.h>
using namespace std;
ifstream fin("energii.in");
ofstream fout("energii.out");
int g,w,a[1001],b[1001],d[10001],i,j,Cmin,ok;
int main()
{
    fin>>g>>w;
    for(i=1;i<=g;i++)
        fin>>a[i]>>b[i];
    for (i=1;i<=2*w;i++)
        d[i]=-1;
    d[0]=0;
    for(i=1;i<=g;i++)
        for (j=2*w-a[i];j>=0;j--)
            if (d[j]!=-1 && d[j+a[i]] < d[j]+b[i])
                d[j+a[i]]=d[j]+b[i];

      for (i=1;i<=2*w;i++)
        if (d[i]!=-1 && i>=w)
        {
            if (ok==0)
            {
                Cmin=d[i];
                ok=1;
            }
            else
                if (d[i]<Cmin)
                    Cmin=d[i];

        }

    if(ok==0)
        fout<<-1;
    else
        fout<<Cmin;


    return 0;
}