Pagini recente » Cod sursa (job #1292853) | Cod sursa (job #679983) | Cod sursa (job #1097229)
#include<fstream> ;
using namespace std;
ifstream fin("rucsac.in") ;
ofstream fout("rucsac.out") ;
int sol[100008],w[5008],p[5008];
int n , g, i, j, k, maxim ;
void citire();
void pd();
void afisare();
int main()
{
citire();
pd();
afisare();
return 0;
}
void citire()
{
fin >> n >> g ;
for(j=1;j<=g;j++) sol[j]=-1;
for(i=1;i<=n;i++) fin >> w[i] >> p[i];
}
void pd()
{
sol[0]=0;
for(i=1;i<=n;i++)
for(j=g-w[i];j>=0;j--)
if(sol[j]!=-1)
if(sol[j]+p[i]>sol[j+w[i]])
sol[j+w[i]]=sol[j]+p[i];
for(i = 2; i <= g ; i++ )
if ( sol[i] > maxim ) maxim = sol[i];
}
void afisare()
{
fout << maxim << '\n' ;
}