Pagini recente » Cod sursa (job #843765) | Cod sursa (job #2251021) | Cod sursa (job #2544073) | Cod sursa (job #1270256) | Cod sursa (job #2715206)
#include<iostream>
#include<fstream>
using namespace std;
ifstream fin("rucsac.in");
ofstream fout("rucsac.out");
#define nrm 5010
int n,gmax,maxim=0;
int greutate[nrm],profit[nrm],dp[10010];
void citire()
{
fin>>n>>gmax;
for(int i=1;i<=n;i++)
{
fin>>greutate[i]>>profit[i];
}
}
int main ()
{
citire();
for(int i=1;i<=n;i++)
{
for(int j=gmax-greutate[i];j>=0;j--)
{
if(dp[j+greutate[i]]<dp[j]+profit[i])
{
dp[j+greutate[i]]=dp[j]+profit[i];
}
}
}
for(int i=1;i<=gmax;i++)
{
maxim=max(maxim,dp[i]);
}
fout<<maxim;
fin.close();
fout.close();
return 0;
}