Pagini recente » Cod sursa (job #1425070) | Cod sursa (job #2571821) | Cod sursa (job #2912639) | Cod sursa (job #463768) | Cod sursa (job #1698931)
#include <fstream>
using namespace std;
ifstream fin("rucsac.in");
ofstream fout("rucsac.out");
const int Nmax=5002;
const int Gmax=10002;
int n,g;
int w[Nmax],p[Nmax],profit[Nmax];
int maxim ( int x , int y ){
return x > y ? x : y;
}
int main()
{
fin>>n>>g;
for ( int i=1 ; i<=n ; i++ )
fin>>w[i]>>p[i];
for ( int j=1 ; j<=g ; j++ )
profit[j]=-1;
profit[0]=0;
for ( int i=1 ; i<=n ; i++ ){
for ( int j=g-w[i] ; j>=0 ; j-- ){
if ( profit[j] != -1 && profit[j] + p[i] > profit[j+w[i]] )
profit[j+w[i]]=profit[j]+p[i];
}
}
fout<<profit[g];
}