Pagini recente » Cod sursa (job #2213604) | Cod sursa (job #1730412) | Cod sursa (job #1753792) | Cod sursa (job #231486) | Cod sursa (job #1386067)
#include <bits/stdc++.h>
using namespace std;
ifstream fin("rucsac.in");
ofstream fout("rucsac.out");
long long int n,k,v[10001],g,p,i,j,maxi;
vector <int> poz;
int main()
{
fin>>n>>maxi;
for(i=1;i<=n;i++)
{
fin>>g>>p;
int m;
m=poz.size();
for(j=0;j<m;j++)
if(poz[j]+g<=maxi)
{
if(v[poz[j]+g])
v[poz[j]+g]=max(v[poz[j]+g],v[poz[j]]+p);
else
{
v[poz[j]+g]=v[poz[j]]+p;
poz.push_back(poz[j]+g);
}
}
if(v[g])
v[g]=max(v[g],p);
else
{
poz.push_back(g);
v[g]=p;
}
}j=0;
for(i=1;i<=maxi;i++)
j=max(j,v[i]);
fout<<j;
return 0;
}