Cod sursa(job #2371900)

Utilizator redstonegamer22Andrei Ion redstonegamer22 Data 6 martie 2019 20:06:39
Problema Energii Scor 0
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.66 kb
#include <fstream>

using namespace std;

ifstream cin("energii.in");
ofstream cout("energii.out");

#define MAX(a, b) ((a > b) ? (a) : (b))

int c[1005], w[1005];
int v[5005], previ[5005];

int main()
{
    int n;
    cin >> n;

    int m;
    cin >> m;

    for(int i = 1; i <= n; i++) {
        cin >> w[i] >> c[i];
    }

    for(int i = 1; i <= n; i++) {
    for(int j = 0; j <= m; j++) {
        //cout << i << " " << j << endl;
        v[j] = previ[j];

        if(j >= w[i])
            v[j] = MAX(v[j], previ[j-w[i]]+c[i]);

    }
        for(int k = 0; k < 5005; k++)
            previ[k] = v[k];
    }

    cout << v[m];
}