Pagini recente » Cod sursa (job #1352691) | Cod sursa (job #2706403) | Cod sursa (job #1576040) | Cod sursa (job #3120889) | Cod sursa (job #2363653)
#include <iostream>
#include <fstream>
#include <algorithm>
using namespace std;
ofstream fo("rucsac.out");
ifstream fi("rucsac.in");
int n,GMAX;
int profit[5005];
int greutate[5005];
int dp[10003];
int main()
{
fi>>n>>GMAX;
for(int i=1; i<=n; i++)
fi>>greutate[i]>>profit[i];
for(int i=1; i<=GMAX; i++)
{
for(int j=GMAX-greutate[i]; j>=0; j--)
if(dp[j]+profit[i]>dp[j+greutate[i]])
dp[j+greutate[i]]=dp[j]+profit[i];
}
int maxim=-100000;
for(int i=1; i<=GMAX; i++)
maxim=max(maxim,dp[i]);
fo<<maxim;
fi.close();
fo.close();
return 0;
}