Cod sursa(job #1760969)

Utilizator petruciurpetru ciur petruciur Data 21 septembrie 2016 17:20:20
Problema Problema rucsacului Scor 10
Compilator cpp Status done
Runda Arhiva educationala Marime 0.55 kb
#include <fstream>
#include <algorithm>
using namespace std;

ifstream f("rucsac.in");
ofstream h("rucsac.out");

int main()
{
    int n,g,w[1001],p[1001],c[501][501];

    f>>n>>g;
    for(int i=1;i<=n;i++)
        f>>w[i]>>p[i];

    for(int i=0;i<=g;i++)
        c[0][i]=0;
    for(int i=0;i<=n;i++)
        c[i][0]=0;

    for(int i=1;i<=n;i++)
        for(int j=1;j<=g;j++)
            if(j<w[i])
                c[i][j]=c[i-1][j];
            else c[i][j]=max(c[i-1][j],c[i-1][j-w[i]]+p[i]);


    h<<c[n][g];

    return 0;
}