Pagini recente » Cod sursa (job #1621914) | Cod sursa (job #370973) | Cod sursa (job #2242579) | Cod sursa (job #728749) | Cod sursa (job #1738111)
#include <iostream>
#include <fstream>
using namespace std;
#ifdef INFOARENA
#define cout fout
#endif // INFOARENA
ifstream fin("rucsac.in");
ofstream fout("rucsac.out");
#define limg 10001
#define limn 5001
int N,G,a[limn][limg];
int gr[limg],p[limg];
int maxim(int a, int b)
{
if(a>b)
return a;
return b;
}
int main()
{
int i,j;
fin>>N>>G;
for(i=1; i<=N; i++)
fin>>gr[i]>>p[i];
for(i=1; i<=N; i++)
for(j=0; j<=G; j++)
{
if(gr[i]<=j)
a[i][j]=maxim( a[i-1][j] , a[i-1][j-gr[i]]+p[i] );
else
a[i][j]=a[i-1][j];
}
fout<<a[N][G];
return 0;
}