Pagini recente » Cod sursa (job #203942) | Cod sursa (job #1694233) | Cod sursa (job #1937233) | Cod sursa (job #355491) | Cod sursa (job #2259261)
#include <bits/stdc++.h>
using namespace std;
ifstream fin("rucsac.in");
ofstream fout("rucsac.out");
const int oo=1000000000;
int n,i,j,val,g,G,p[10010],profit;
bitset<10010> used;
int main()
{
fin>>n>>G;
used[0]=1;
for(;n;n--)
{
fin>>g>>val;
used[0]=1;
if(g>G)continue;
for(j=G,i=G-g;i>=0;i--,j--)
if(used[i])
{
int profit=p[i]+val;
if(!used[j])
{
p[j]=profit;
used[j]=1;
}
else
if(profit>p[j])
p[j]=profit;
}
}
profit=0;
for(i=0;i<=G;i++)
profit=max(profit,p[i]);
fout<<profit;
return 0;
}