Cod sursa(job #2440779)

Utilizator driver71528@gmail.comTerec Andrei-Sorin [email protected] Data 19 iulie 2019 13:05:12
Problema Energii Scor 35
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 1.06 kb
#include <iostream>
#include <fstream>
#define MaxG 1002
#define MaxW 5002
#define undefined 0
#define LARGE 10000000
using namespace std;
ifstream f("energii.in");
ofstream fout("energii.out");
typedef long long ll;
int g,w;
ll e[MaxG],c[MaxW];
ll m[MaxG][MaxW];

int main()
{
    f>>g>>w;
    int rez1,rez2;
    for(int i=1;i<=g;i++)
        f>>e[i]>>c[i];
    for(int i=1;i<=g;i++)
        for(int j=1;j<=w;j++)
        {
            rez1 = (m[i-1][j]==undefined? LARGE : m[i-1][j]); ///rezultatul daca nu punem e[i]
            if(j<=e[i])
                rez2 = c[i];
            else
            {
                if(m[i-1][j-e[i]] == undefined)
                    break;
                rez2 = m[i-1][j-e[i]] + c[i];
            }
            m[i][j] = min(rez1,rez2);
        }
    if(m[g][w]==undefined)
        fout<<-1;
    else
        fout<<m[g][w];
    f.close();
    fout.close();
    for(int i=1;i<=g;i++)
    {
        for(int j=1;j<=w;j++)
            cout<<m[i][j]<<' ';
        cout<<endl;
    }
    return 0;
}