Cod sursa(job #1990351)

Utilizator cipri321Marin Ciprian cipri321 Data 11 iunie 2017 15:27:17
Problema Problema rucsacului Scor 35
Compilator cpp Status done
Runda Arhiva educationala Marime 0.58 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;j>=0;j--)
            if(j>=W[i])
                A[i][j]=max(A[i-1][j],A[i-1][j-W[i]]+P[i]);
            else
                A[i][j]=A[i-1][j];
    for(int i=0;i<=g;i++)
        rez=max(rez,A[n][i]);
    fo<<rez;
    fi.close();
    fo.close();
    return 0;
}