Pagini recente » Cod sursa (job #2880167) | Cod sursa (job #2937749) | Cod sursa (job #1731073) | Cod sursa (job #1470353) | Cod sursa (job #1029229)
#include <fstream>
using namespace std;
ifstream fin("rucsac.in");
ofstream fout("rucsac.out");
struct ob
{
int g,c;
};
ob a[5001];
int n,G,Max=0,l[10001],mx=0;
void pd()
{
int i,j;
for(i=1; i<=G; i++)
{
for(j=Max; j>=0; j--)
if(l[j]!=-1)
l[j+a[i].g]=l[j]+a[i].c;
Max+=a[i].g;
}
}
int main()
{
int i;
fin>>n>>G;
for(i=1; i<=n; i++)
{
fin>>a[i].g>>a[i].c;
}
for(i=1;i<=G;i++)
l[i]=-1;
l[0]=0;
pd();
for(i=1; i<=G; i++)
if(mx<l[i])mx=l[i];
fout<<mx;
return 0;
}