Cod sursa(job #274611)

Utilizator EllsolanMircea Iordache Ellsolan Data 9 martie 2009 21:20:45
Problema Energii Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.63 kb
#include <fstream>
using namespace std;

int main()
{
    ifstream in ("energii.in");
    ofstream out("energii.out");
    int i,j,m,c,e,G,W;
    unsigned long v[1000000];
    in>>G>>W;
    for (i=1;i<=W+1;i++)
    v[i]=1000000000;
    for (i=1;i<=G;i++)
    {
        in>>e>>c;
        for (j=W;j>=1;j--)
        {
            m=j+e;
            if (m>W) m=W;
            if (v[m]>v[j]+c) v[m]=v[j]+c;
            if (v[m]>v[m+1]) v[m]=v[m+1];
        }
        for (j=1;j<=e;j++)
            if (v[j]>c)
                v[j]=c;
    }
    if (v[W]==1000000000)
    out<<-1;
    else out<<v[W];
    return 0;
}