Pagini recente » Cod sursa (job #409729) | Cod sursa (job #2173437) | Cod sursa (job #1771054) | Cod sursa (job #790525) | Cod sursa (job #1053249)
#include <fstream>
using namespace std;
int main()
{
ifstream fin("rucsac.in");
ofstream fout("rucsac.out");
int n,g,a[100],b[100],d[100]={0},m=0;
fin >> n >> g;
for( int i = 0; i < n; i++ )
fin >> a[i] >> b[i];
for( int i = 0; i < n; i++ )
{
for( int j = g; j >= 0; j-- )
{
if( d[j] > 0 && j + a[i] <= g && b[i] + d[j] > d[j + a[i]] ) d[j + a[i]] = b[i] + d[j];
}
d[a[i]]=max(d[a[i]],b[i]);
}
for( int i = 0; i <= g; i++)
if( d[i] > m) m = d[i];
fout << m;
}