Cod sursa(job #1881482)

Utilizator bucuralexandraioana05Bucur Alexandra bucuralexandraioana05 Data 16 februarie 2017 15:26:54
Problema Energii Scor 5
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.72 kb
#include <iostream>
#include<fstream>
using namespace std;

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

#define inf 20000000

int n,w,i,j,pd[5002],e[5002],cost[5002],s,minn;

int main()
{
    f>>n>>w;
    for(i=1;i<=5002;++i) pd[i]=inf;
    for(i=1;i<=n;++i)
    {
        f>>e[i]>>cost[i];
        s+=e[i];
    }
    if(s<w)
        g<<-1;
    else
    {  for(i=1;i<=n;++i)
         {
             for(j=5002;j>=1;j--)
                    pd[j+e[i]]=min(pd[j+e[i]], pd[j]+cost[i]);

         pd[e[i]]=min(pd[e[i]],cost[i]);

         }

        minn=inf;
        for(i=w;i<=5002;++i)
            minn=min(minn,pd[i]);
        g<<minn;
    }
    f.close();
    g.close();
    return 0;
}