Pagini recente » Cod sursa (job #1130367) | Cod sursa (job #2059800) | Cod sursa (job #235643) | Cod sursa (job #2295928) | Cod sursa (job #1677728)
#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,k=2,p=1,l;
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[k][j]=A[p][j];
}
else
{
A[k][j]=max(A[k][j-1],prof[i]+A[p][j-cost[i]]);
A[k][j]=max(A[k][j],A[p][j]);
}
}
l=k;
k=p;
p=l;
}
}
int main()
{
citire();
parc();
fout<<A[(n+1)%2][costmax];
}