Cod sursa(job #2923804)

Utilizator BenceKolozsvari Bence Bence Data 19 septembrie 2022 13:23:58
Problema Problema rucsacului Scor 0
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.67 kb
#include <fstream>
#include <vector>

using namespace std;

ifstream cin("rucsac.in");
ofstream cout("rucsac.out");

struct adat
{
    int suly, ar;
};

int i,j,veg,n;
long long maxi;

int main()
{
    cin>>n>>veg;
    vector <adat> x(n+1);
    vector <long long> v(veg+1);
    for(i=1; i<=n; ++i)
    {
        cin>>x[i].suly>>x[i].ar;
        v[x[i].suly]=x[i].ar;
    }
 for(j=1; j<=n; ++j)
    for(i=veg; i>0; --i)
    {
        if(v[i]) if(i!=x[i].suly){
                if(i+x[j].suly<=veg)
            v[i+x[j].suly]=v[i]+x[j].ar;
        }
    }

    for(i=veg; i>0; --i)
        if(v[i]>maxi) maxi=v[i];

    cout<<maxi;

    return 0;
}