Pagini recente » Cod sursa (job #2946076) | Cod sursa (job #2109657) | Cod sursa (job #1998895) | Cod sursa (job #1834970) | Cod sursa (job #1818732)
#include <fstream>
#define nmax 10001
using namespace std;
ifstream fin("rucsac.in");
ofstream fout("rucsac.out");
int n,G;
int v[nmax],u[nmax];
struct obiect
{int g,c;};
obiect a[nmax];
void cit()
{int i;
fin>>n>>G;
for(i=1;i<=n;i++)
fin>>a[i].g>>a[i].c;
}
void dinamica()
{int i,j;
for(i=1;i<=n;i++)
{for(j=1;j<=G;j++)
if(a[i].g<=j) v[j]=max(u[j],a[i].c+u[j-a[i].g]);
for(j=1;j<=G;j++)
u[j]=v[j];
}
fout<<v[G];
}
int main()
{ cit();
dinamica();
return 0;
}