Pagini recente » Cod sursa (job #2378285) | Cod sursa (job #3174357) | Cod sursa (job #1086941) | Cod sursa (job #1676126) | Cod sursa (job #2940479)
#include<fstream>
using namespace std;
ifstream cin("rucsac.in");
ofstream cout("rucsac.out");
int n,greutate_max,greutate[5005],pret[5005],dp[10005];
inline int maxim(int a,int b)
{
if(a>b)
return a;
return b;
}
int main()
{cin>>n>>greutate_max;
for(int i=1;i<=n;i++)
{cin>>greutate[i]>>pret[i];
}
for(int i=1;i<=n;i++)
for(int j=greutate_max-greutate[i];j>=0;j--)
{if(dp[j]+pret[i]>dp[j+greutate[i]])
dp[j+greutate[i]]=(dp[j]+pret[i]);
}
int sol=0;
for(int i=1;i<=n;i++)
{sol=maxim(sol,dp[i]);
}
cout<<sol;
}