Pagini recente » Cod sursa (job #2477965) | Cod sursa (job #2363799) | Istoria paginii utilizator/tvlad | Cod sursa (job #11653) | Cod sursa (job #1973882)
#include <fstream>
using namespace std;
struct val
{
int a,b;
};
int v[10005];
int main()
{ ifstream cin("rucsac.in");
ofstream cout("rucsac.out");
int n,g,ma=-1,last=0;
cin>>n>>g;
val x;
for(int i=1;i<=n;i++)
{
cin>>x.a>>x.b;
for(int j=last;j>=0;j--)
{ if(j+x.a<=g)
{
if(v[j]+x.b>v[j+x.a])
{
v[j+x.a]=v[j]+x.b;
}
if(j+x.a>last)
last=j+x.a;
}
}
}
for(int i=1;i<=g;i++)
{
if(v[i]>ma)
ma=v[i];
}
cout<<ma;
return 0;
}