Cod sursa(job #2241731)

Utilizator Alex_P_ltibAlex Popescu Alex_P_ltib Data 16 septembrie 2018 20:32:19
Problema Problema rucsacului Scor 0
Compilator cpp Status done
Runda Arhiva educationala Marime 0.57 kb
#include <iostream>
using namespace std;

int main()
{
    int n, W, i, j;
    cin>>n>>W;
    int v[n+1], w[n+1], **m;
    m=new int *[n+1];
    for(i=0;i<=n;i++)
        m[i]=new int [W+1];
    for(i=1;i<=n;i++)
        cin>>w[i]>>v[i];
    for(j=0;j<=W;j++)
        m[0][j]=0;
    for(i=1;i<=n;i++)
        for(j=1;j<=W;j++)
            if(w[i]>j)
                m[i][j]=m[i-1][j];
            else
                m[i][j]=max(m[i-1][j], m[i-1][j-w[i]]+v[i]);
    cout<<m[n][W];
    for(i=0;i<=n;i++)
        delete[] m[i];
    delete[] m;
    return 0;
}