Cod sursa(job #1146694)

Utilizator mateidanutDanut Gabriel Matei mateidanut Data 19 martie 2014 10:59:08
Problema Energii Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.68 kb
#include <fstream>
using namespace std;

struct gener {
    short gr;
    short p;
} a[1003];

int i, j, n, pmin, gmin, v[10003];

ifstream f("energie.in");
ofstream g("energie.out");

int main()
{
    f>>n>>pmin;
    for (i=1; i<=n; ++i)
        f>>a[i].p>>a[i].gr;
    v[0]=1;
    for (i=1; i<=n; ++i)
        for (j=10000; j>=0; --j)
            if (j+a[i].p<=10000 && v[j]!=0 && (v[a[i].p+j]==0 || v[a[i].p+j]>v[j]+a[i].gr))
                v[a[i].p+j]=v[j]+a[i].gr;
    gmin=2000000000;
    for (i=pmin; i<=10000; ++i)
        if (v[i]!=0 && v[i]<gmin)
            gmin=v[i];
    if (gmin!=2000000000)
        g<<gmin-1;
    else
        g<<-1;
    return 0;
}