Pagini recente » Cod sursa (job #3202698) | Cod sursa (job #1157366) | Cod sursa (job #1845580) | Cod sursa (job #3291163) | Cod sursa (job #1028142)
#include<fstream>
#include<algorithm>
using namespace std;
int v[5001],p[5001],d[10001];
void init(int g)
{
for (int i=1;i<=g;++i)
d[i]=-1;
}
int main()
{
ifstream in ("rucsac.in");
ofstream out ("rucsac.out");
int n,g,i,mx;
in>>n>>g;
for (i=0;i<n;++i)
in>>v[i]>>p[i];
init(g);
d[0]=0;
for (int j=0;j<n;++j)
for (i=g-v[j];i>-1;--i)
if (d[i+v[j]]<d[i]+p[j])
d[i+v[j]]=d[i]+p[j];
mx=0;
for (i=1;i<=g;++i)
if (mx<d[i])
mx=d[i];
out<<mx<<'\n';
in.close();
out.close();
return 0;
}