Cod sursa(job #2372159)

Utilizator BiancaMariaVulsanVulsan Bianca Maria BiancaMariaVulsan Data 6 martie 2019 22:01:12
Problema Problema rucsacului Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.69 kb
#include <iostream>
#include <fstream>
#define nmax 5005
#define gmax 10005
using namespace std;
ifstream f("rucsac.in");
ofstream g("rucsac.out");
int n, a[gmax],G, cst[nmax], gr[nmax],sol;

void citire()
{
    int i;
    f>>n>>G;
    for(i=1; i<=n; i++)
    {
        f>>gr[i]>>cst[i];
    }
}

void rucsac()
{
    int i,j;
    for(i=1; i<=n; i++)
    for(j=G-gr[i]; j>=0; j--)
        if(a[j+gr[i]]<a[j]+cst[i])//daca l-am mai pus deja cu un castig mai prost
    {
        a[j+gr[i]]=a[j]+cst[i];
        if(sol<a[j+gr[i]])
            sol=a[j+gr[i]];
    }
}

int main()
{
    citire();
    rucsac();
    g<<sol<<" ";
    f.close();
    g.close();
    return 0;
}