Cod sursa(job #1880793)

Utilizator bucuralexandraioana05Bucur Alexandra bucuralexandraioana05 Data 15 februarie 2017 22:05:18
Problema Energii Scor 5
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.73 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[1000000],e[5002],cost[5002],s,minn;

int main()
{
    f>>n>>w;
    for(i=1;i<=1000000;++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=1000000;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<=1000000;++i)
            minn=min(minn,pd[i]);
        g<<minn;
    }
    f.close();
    g.close();
    return 0;
}