Cod sursa(job #1973882)

Utilizator ardutgamerAndrei Bancila ardutgamer Data 26 aprilie 2017 12:06:38
Problema Problema rucsacului Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.7 kb
#include <fstream>

using namespace std;
struct val
{
  int a,b;
};
int v[10005];
int main()
{   ifstream cin("rucsac.in");
    ofstream cout("rucsac.out");
    int n,g,ma=-1,last=0;
    cin>>n>>g;
    val x;
    for(int i=1;i<=n;i++)
    {
        cin>>x.a>>x.b;
        for(int j=last;j>=0;j--)
        {     if(j+x.a<=g)
                {
                    if(v[j]+x.b>v[j+x.a])
                    {
                        v[j+x.a]=v[j]+x.b;
                    }
                    if(j+x.a>last)
                         last=j+x.a;
                }
        }
    }
    for(int i=1;i<=g;i++)
    {
        if(v[i]>ma)
        ma=v[i];
    }
    cout<<ma;
    return 0;
}