Cod sursa(job #1360016)

Utilizator traian.vidrascutraian vidrascu traian.vidrascu Data 25 februarie 2015 10:49:44
Problema Energii Scor 95
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.79 kb
#include <iostream>
#include <fstream>
#define D 1000000
using namespace std;
ifstream f("energii.in");
ofstream g("energii.out");
struct gen
{
    int e;
    int c;
};
gen v[1005];
int ge,w,m[1005][5005],l;
int main()
{
    int i,j,x,y;
    f>>ge>>w;
    for(i=1;i<=ge;i++)
    {
        f>>x>>y;
        v[i].e=x;
        v[i].c=y;
    }
    l=0;
    for(i=0;i<=ge;i++)
        for(j=0;j<=w;j++)
    {
        m[i][j]=D;

    }
    for(i=1;i<=ge;i++)
    {
        for(j=1;j<=w;j++)
        {
            m[i][j]=m[i-1][j];
            if(v[i].e>=j)
                m[i][j]=min(m[i][j],v[i].c);
            if(j-v[i].e>=1 && m[i-1][j-v[i].e]!=D)
               m[i][j]=min(m[i][j],v[i].c+m[i-1][j-v[i].e]);
        }

    }
    g<<m[ge][w];

    return 0;
}