Pagini recente » Cod sursa (job #1324554) | Cod sursa (job #304931) | Cod sursa (job #2852779) | Cod sursa (job #1492170) | Cod sursa (job #1657714)
#include <fstream>
using namespace std;
ifstream fin("rucsac.in");
ofstream fout("rucsac.out");
int a[2][10000];
int main()
{
int n,m,i,j,k,q,g,x,y,maxim;
fin>>n>>m;
i=1;
for(k=1;k<=n;k++)
{
j=i;i=1-i;
fin>>x>>y;
for(q=0;q<=m;q++)
{
if(q-x<0)
a[i][q]=a[j][q];
else
{
g=q-x;
if(a[j][g]+y>a[j][q])
{
if(a[j][g]!=0)
a[i][q]=y+a[j][g];
else if(g==0)
a[i][q]=y;
}
else
{
a[i][q]=a[j][q];
}
}
}
}
maxim=0;
for(k=0;k<=m;k++)
maxim=max(maxim,a[i][k]);
fout<<maxim<<'\n';
return 0;
}