Cod sursa(job #1999266)

Utilizator roxana.aeleneiAelenei Roxana roxana.aelenei Data 10 iulie 2017 19:05:38
Problema Problema rucsacului Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.59 kb
#include <fstream>
#include <algorithm>
using namespace std;
ifstream in("rucsac.in");
ofstream out("rucsac.out");
struct obiect
{
    int w,p;
}v[5005];

bool cmp(obiect a, obiect b)
{
    return (a.w < b.w);
}
int n,g,sol[10005],last=0;
int main()
{
    in>>n>>g;
    for(int i=1; i<=n; i++)
        in>>v[i].w>>v[i].p;

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

    out<<last;
    return 0;
}