Cod sursa(job #767229)

Utilizator bratualexBratu Alexandru bratualex Data 12 iulie 2012 23:44:50
Problema Energii Scor 95
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.66 kb
#include <fstream>
#define INF 0x3f3f3f3f
using namespace std;
ifstream fin ("energii.in");
ofstream fout ("energii.out");
int c[1010],e[1010],n,w,i,j,v[3][5009];
int main()
{
    fin>>n>>w;
    for(i=0;i<=w;i++)
        v[1][i]=v[0][i]=INF;
    for (i=1;i<=n;i++)
        fin>>e[i]>>c[i];
    for (i=1;i<=n;i++)
    {
        for (j=0;j<=w&&v[i%2][j-1]!=INF;j++)
        {
            if(j<=e[i])
            {
                v[i%2][j]=min(c[i],v[!(i%2)][j]);
            }
            else
            {
                v[i%2][j]=min(v[!(i%2)][j],v[!(i%2)][j-e[i]]+c[i]);
            }

        }
    }
    fout<<v[!(i%2)][w];
    return 0;
}