Cod sursa(job #3134087)

Utilizator BereaBerendea Andrei Berea Data 28 mai 2023 14:22:59
Problema Problema rucsacului Scor 10
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.66 kb
#include <fstream>
#include <vector>

using namespace std;
long long int n,g,x,y,s,r,maxi;
vector<pair<int,int> >v;

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

int main()
{
    cin>>n>>g;
    for (long long int i=1;i<=n;i++)
    {
        cin>>x>>y;
        v.push_back(make_pair(x,y));
    }
    for (long long int i=(1<<n)-1;i>=1;i--)
    {
        s=0;
        r=0;
        for (long long int j=n-1;j>=0;j--)
        {
            if ((i|(1<<j))==i)
            {
                s+=v[n-(j+1)].first;
                r+=v[n-(j+1)].second;
            }
        }
        if (s<=g && r>=maxi) maxi=r;
    }
    cout<<maxi;
}