Pagini recente » Cod sursa (job #768936) | Cod sursa (job #1499326) | Cod sursa (job #1938534) | Cod sursa (job #978861) | Cod sursa (job #2711635)
#include <fstream>
#include <algorithm>
using namespace std;
ifstream in ("rucsac.in");
ofstream out ("rucsac.out");
int dp[10004];
int main()
{
int n,gmax,maxim=0,w,p;
in>>n>>gmax;
for(int i=1;i<=n;i++)
{
in>>w>>p;
for(int j=gmax;j>=w;j--)
{
if(dp[j-w]>0 && dp[j-w]+p>dp[j])
{
dp[j]=dp[j-w]+p;
maxim=max(maxim,dp[j]);
}
}
if(dp[w]<p)
{
dp[w]=p;
maxim=max(maxim,dp[w]);
}
}
out<<maxim;
return 0;
}