Pagini recente » Cod sursa (job #854982) | Cod sursa (job #2789792) | Cod sursa (job #3030384) | Cod sursa (job #2574060) | Cod sursa (job #2775605)
#include <fstream>
#include <algorithm>
using namespace std;
ifstream in("rucsac.in");
ofstream out("rucsac.out");
int dp[10005],gr[5005],profit[5005];
int main()
{
int n,G;
in>>n>>G;
for(int i=1;i<=n;i++)
{
in>>gr[i]>>profit[i];
}
for(int i=1;i<=n;i++)
{
for(int g=G;g>=1;g--)
{
if(gr[i]<=g)
{
if(g-gr[i]==0 || dp[g-gr[i]]!=0)
{
dp[g]=profit[i]+dp[g-gr[i]];
}
}
}
}
int rasp=0;
for(int i=1;i<=G;i++)
{
rasp=max(rasp,dp[i]);
}
out<<rasp;
return 0;
}