Cod sursa(job #3262369)

Utilizator Victor5539Tanase Victor Victor5539 Data 9 decembrie 2024 21:42:12
Problema Problema rucsacului Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.59 kb
#include <iostream>
#include <fstream>

using namespace std;
ifstream fin("rucsac.in");
ofstream fout("rucsac.out");


int n,g,d[10005],sol,i;
struct elem{
int w,p;}v[5005];


int main()
{
    fin>>n>>g;
    for (i=1; i<=n; i++)
        fin>>v[i].w>>v[i].p;


    for (i=1; i<=n; i++)
    {
        for (int weight=g-v[i].w; weight>=0; weight--)
        if (d[weight])
        d[weight+v[i].w]=max(d[weight+v[i].w],d[weight]+v[i].p);

        d[v[i].w]=max(d[v[i].w],v[i].p);
    }

    for (i=0; i<=g; i++)
        sol=max(sol,d[i]);


    fout<<sol;


    return 0;
}