Cod sursa(job #274579)

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

int main()
{
    ifstream in ("energii.in");
    ofstream out("energii.out");
    int i,j,m,c,e,G,W;
    long long v[5001];
    in>>G>>W;
    for (i=1;i<=W+1;i++)
    v[i]=10000000;
    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]==10000000)
    out<<-1;
    else out<<v[W];
    return 0;
}