Cod sursa(job #1720000)

Utilizator Sergiu1256Ionita Sergiu1256 Data 20 iunie 2016 21:28:49
Problema Energii Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.63 kb
#include <fstream>
using namespace std;
 
int main()
{
    ifstream fin ("energii.in");
    ofstream fout("energii.out");
    int i,j,m,c,e,G,W;
    unsigned long v[1000000];
    fin>>G>>W;
    for (i=1;i<=W+1;i++)
    v[i]=1000000000;
    for (i=1;i<=G;i++)
    {
        fin>>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)  fout<<-1;
    else fout<<v[W];
    return 0;
}