Cod sursa(job #2836486)

Utilizator bogdan.svai2004@gmail.comSvaicovschi Bogdan-Gabriel [email protected] Data 20 ianuarie 2022 15:24:47
Problema Problema rucsacului Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.65 kb
#include<fstream>
std :: ifstream in("rucsac.in");
std :: ofstream out("rucsac.out");
using namespace std;
int w[5001] , p[5001] , profit[10001];
int main()
{
    int n , g;
    in>>n>>g;
    
    for(int i=0;i<n;i++)
        in>>w[i]>>p[i] ;
    for(int i=1;i<=g;i++)
        profit[i]=-1;
    profit[0]=0;
    for(int i=0;i<n;i++)
        for(int j=g-w[i];j>=0;j--)
            if (profit[j]!=-1)
	            {
	             profit[j+w[i]]=max(profit[j]+p[i], profit[j+w[i]]);
                }
    int maxim=0;
    for(int i=1;i<=g;i++)
        {
            if(maxim<profit[i])
                maxim=profit[i];
        }
    out<<maxim;
            
    
    
}