Pagini recente » Cod sursa (job #163051) | Cod sursa (job #207618) | Cod sursa (job #598032) | Cod sursa (job #774471) | Cod sursa (job #1814814)
#include <fstream>
using namespace std;
int i,n,gr,v[5001],g[5001],s1[10001],s2[10001],j;
ifstream fi("rucsac.in");
ofstream fo("rucsac.out");
int main()
{
fi>>n>>gr;
for(i=1; i<=n; i++)
{
fi>>g[i]>>v[i];
}
for(i=1; i<=n; i++)
{
for(j=1; j<=gr; j++)
{
if(g[i]>j)
s2[j]=max(s1[j],s2[i-1]);
else
{
s2[j]=max(s1[j],v[i]+s1[j-g[i]]);
}
}
for(j=1; j<=gr; j++)
{
s1[j]=max(s2[j],s1[j]);
}
}
fo<<s1[gr]<<'\n';
return 0;
}