Cod sursa(job #2939861)

Utilizator TudosieRazvanTudosie Marius-Razvan TudosieRazvan Data 14 noiembrie 2022 11:52:26
Problema Problema rucsacului Scor 0
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.65 kb
#include <fstream>
#define NMAX 10003
using namespace std;

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

int n,g,maxim;
int rucsac[NMAX];

void adaugProfit(int w,int pret)
{
    for(int i=g-w+1; i>=w; i--)
    {
        if(rucsac[i-w]!=0)
        {
            rucsac[i]=max(rucsac[i],rucsac[i-w]+pret);
        }
        maxim=max(rucsac[i],maxim);
    }
    rucsac[w]=max(rucsac[w],pret);
    maxim=max(rucsac[w],maxim);
}

int main()
{
    fin>>n>>g;
    for(int i=1; i<=n; i++)
    {
        int greu,profit;
        fin>>greu>>profit;
        adaugProfit(greu,profit);
    }
    fout<<maxim;

    return 0;
}