Cod sursa(job #2444012)

Utilizator Adrian_Popescu311Popescu Adrian Adrian_Popescu311 Data 29 iulie 2019 23:59:50
Problema Problema rucsacului Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.58 kb
#include <iostream>
#include <fstream>
#include <assert.h>

using namespace std;

#define ma1 5005
#define ma2 10010

ifstream fi("rucsac.in");
ofstream fo("rucsac.out");


int w[ma1],p[ma1];
int op[ma2];
int n,g;

int main()
{
    int sol=0;
    fi>>n>>g;

    for(int i=1;i<=n;i++)
        fi>>w[i]>>p[i];

    for(int i=1;i<=n;i++)
        for(int j=g-w[i];j>=0;j--)
            if(op[j+w[i]]<op[j]+p[i])
    {
                op[j+w[i]]=op[j]+p[i];
                if(op[j+w[i]]>sol)
                    sol=op[j+w[i]];
    }

    fo<<sol;

    return 0;
}