Pagini recente » Cod sursa (job #2081949) | Cod sursa (job #151587) | Cod sursa (job #1860198) | Cod sursa (job #1879147) | Cod sursa (job #3134087)
#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;
}