Cod sursa(job #2930460)

Utilizator Giurgea3000Giurgea Giurgea3000 Data 28 octombrie 2022 15:13:02
Problema Problema rucsacului Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.85 kb
#include <fstream>
#include <algorithm>

using namespace std;

ifstream cin("rucsac.in");
ofstream cout("rucsac.out");

int prof[10002];

void initializare(int prof[],int g)
{
    for(int i=1;i<=g;i++)
    {
        prof[i]=-1;
    }
}

void creere_prof(int n, int g)
{
    int gr,p;
    for(int i=1;i<=n;i++)
    {
        cin>>gr>>p;
        for(int j=g;j>=gr;j--)
        {
            if(prof[j-gr]!=-1)
            {
                prof[j]=max(prof[j],prof[j-gr]+p);
            }
        }
    }
}

void afisare(int prof[], int g)
{
    for(int i=1;i<=g;i++)
    {
        cout<<prof[i]<<" ";
    }
}

int main()
{
    int n,g,maxi=0;
    cin>>n>>g;
    initializare(prof,g);
    creere_prof(n,g);
    //afisare(prof,g);
    for(int i=1;i<=g;i++)
    {
        if(maxi<prof[i])
        {
            maxi=prof[i];
        }
    }
    cout<<maxi;
    return 0;
}