Cod sursa(job #1372920)

Utilizator gabriel.bjgGabriel b. gabriel.bjg Data 4 martie 2015 15:48:42
Problema Energii Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.8 kb
#include <fstream>
#include <iostream>
#include <algorithm>
#include <cstring>
#define NRR 11000
using namespace std;
ifstream fin("energii.in");
ofstream fout("energii.out");
int G,W,EG[1005],CG[1005],D[1005][10005];
int energii()
{
    int i,j;
    for(j=1;j<=EG[1];j++)
        D[1][j]=CG[1];
    for(i=2;i<=G;i++)
        for(j=1;j<=W;j++)
            if(j-EG[i]==0)
                D[i][j]=min(D[i-1][j],CG[i]);
            else
                D[i][j]=min(D[i-1][j],D[i-1][j-EG[i]]+CG[i]);
    if(D[G][W]==NRR)
        return -1;
    return D[G][W];
}
int main()
{
    int i,j;
    fin>>G>>W;
    for(i=1;i<=G;i++)
        fin>>EG[i]>>CG[i];
    for(i=0;i<=G;i++)
        for(j=0;j<=W;j++)
            D[i][j]=NRR;
    fout<<energii();
    fin.close();
    fout.close();

}