Cod sursa(job #935883)

Utilizator Johny_Depp22Johnny Depp Johny_Depp22 Data 4 aprilie 2013 23:58:07
Problema Energii Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.87 kb
#include <fstream>

using namespace std;

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

int costmin[1005][5001];
long long s;
int main()
{
    int g,e[1005],w,cost[1005],y;
    f>>G>>w;
    for (i=1; i<=G; ++i)
    {
        f1>>e[i]>>cost[i];
        s+=e[i];
    }
    if (s<w) g<<"-1\n";
    else
    {
        for (int i=1; i<=w; ++i) costmin[0][i]=2000000000;
        for (int i=1; i<=G; ++i) costmin[i][0]=2000000000;
        for (int i=1; i<=G; ++i)
         for (y=1;y<=w;++y)
         {
             if (energie[i]>=y)
             {
                 costmin[i][y]=min(costmin[i-1][y],cost[i]);
             }
             else
             {
                 costmin[i][y]=min(costmin[i-1][y],costmin[i-1][y-e[i]]+cost[i]);
             }
        }
       g<<costmin[G][w]<<'\n';
    }
    f.close(); g.close();
    return 0;
}