Cod sursa(job #3204104)

Utilizator andreea_zahaZaharia Andreea andreea_zaha Data 15 februarie 2024 17:49:25
Problema Problema rucsacului Scor 65
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.61 kb
#include <iostream>
#include <fstream>
using namespace std;

ifstream fin("rucsac.in");
ofstream fout("rucsac.out");

int n, G, w[5003], p[5003], x, y, dp[5004][5004], lc[5004], lp[5004];

int main()
{
    fin >> n;
    fin >> G;
    for (int i=1; i<=n; i++)
    {
        fin >> x >> y;
        w[i]=x;
        p[i]=y;
    }
    for (int i=1; i<=n; i++)
        {
            for (int g=w[i]; g<=G; g++)
            {
                lc[g]=max(lp[g],lp[g-w[i]]+p[i]);
            }
            for (int j=1; j<=G; j++)
                lp[j]=lc[j];
        }
    fout << lc[G];
    return 0;
}