Cod sursa(job #2044536)

Utilizator aturcsaTurcsa Alexandru aturcsa Data 21 octombrie 2017 10:56:17
Problema Problema rucsacului Scor 50
Compilator cpp Status done
Runda Arhiva educationala Marime 0.57 kb
#include <iostream>
#include <fstream>

using namespace std;

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

int a, n, i, j, dp[1005][1005], pr[5000], gr[5000];

int main()
{
    ///dp[i][j]=max(dp[i-1][j], dp[i-1][j-gr[i]]+pr[i])
    f>>n>>a;
    for(i=1; i<=n; i++)
    {
        f>>gr[i]>>pr[i];
    }
    for(i=1; i<=n; i++)
    {
        for(j=1; j<=a; j++)
        {
            dp[i][j]=dp[i-1][j];
            if(gr[i]<=j)
                dp[i][j]=max(dp[i-1][j], dp[i-1][j-gr[i]]+pr[i]);
        }
    }
    g<<dp[n][a];
    return 0;
}