Cod sursa(job #1990350)

Utilizator cipri321Marin Ciprian cipri321 Data 11 iunie 2017 15:22:40
Problema Problema rucsacului Scor 0
Compilator cpp Status done
Runda Arhiva educationala Marime 0.51 kb
#include <fstream>
#include <iostream>
#define DIM 5001
#define GMAX 10001
using namespace std;
ifstream fi("rucsac.in");
ofstream fo("rucsac.out");
int n,g,W[DIM],P[DIM];
int A[DIM][GMAX];
int rez;
int main()
{
    fi>>n>>g;
    for(int i=1;i<=n;i++)
        fi>>W[i]>>P[i];
    for(int i=1;i<=n;i++)
        for(int j=g-W[i];j>=0;j--)
            A[i][j+W[i]]=max(A[i-1][j+W[i]],A[i-1][j]+P[i]);
    for(int i=0;i<=g;i++)
        rez=max(rez,A[n][i]);
    fo<<rez;
    fi.close();
    fo.close();
    return 0;
}