Cod sursa(job #2224954)

Utilizator SweetHumanAvram Gheorghe SweetHuman Data 25 iulie 2018 16:43:26
Problema Problema rucsacului Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.59 kb
#define NMAX 5005
#define GMAX 10005
#include <iostream>
#include <fstream>
using namespace std;

ifstream f1("rucsac.in");
ofstream f2("rucsac.out");
int N,G;
struct date
{
    int g,p;
};
date obiecte[NMAX];
int rucsac[GMAX];
int main()
{
    f1>>N>>G;
    for(int i=1;i<=N;i++)
    {
        f1>>obiecte[i].g>>obiecte[i].p;
    }
    for(int j=1;j<=N;j++)
    {
        for(int i=G;i>=obiecte[j].g;i--)
        {
            int val=rucsac[i-obiecte[j].g]+obiecte[j].p;
            if(val>rucsac[i]) rucsac[i]=val;
        }
    }
    f2<<rucsac[G];
    return 0;
}