Pagini recente » Cod sursa (job #1524410) | Cod sursa (job #313753) | Cod sursa (job #2546264) | Cod sursa (job #2062047) | Cod sursa (job #1677692)
#include<iostream>
#include<fstream>
using namespace std;
ifstream fin("rucsac.in");
ofstream fout("rucsac.out");
int n,m,A[3][10001],prof[5000],cost[5000],costmax;
void citire()
{
fin>>n>>costmax;
for(int i=1;i<=n;i++)
{
fin>>cost[i]>>prof[i];
}
}
void parc()
{
for(int i=1;i<=n;i++)
{
for(int j=1;j<=costmax;j++)
{
if(cost[i]>j)
{
A[2][j]=A[1][j];
}
else
{
A[2][j]=max(A[2][j-1],prof[i]+A[1][j-cost[i]]);
A[2][j]=max(A[2][j],A[1][j]);
}
}
for(int j=1;j<=costmax;j++)
{
A[1][j]=A[2][j];
A[2][j]=0;
}
}
}
int main()
{
citire();
parc();
fout<<A[1][costmax];
}