Pagini recente » Cod sursa (job #238696) | Cod sursa (job #1443501) | Cod sursa (job #2244203) | Cod sursa (job #3249339) | Cod sursa (job #920423)
Cod sursa(job #920423)
#include <fstream>
using namespace std;
ifstream in ("rucsac.in");
ofstream out ("rucsac.out");
const int N=5001;
int g[N],p[N];
int pm[2*N+1];
int main()
{
int n,g2,i,max=0,j;
in>>n>>g2;
for(i=1; i<=n; i++)
in>>g[i]>>p[i];
for(i=1; i<=n; i++)
{
for(j=g2-g[i]; j>0; j--)
if(pm[j]!=0 && pm[j]+p[i]>pm[j+g[i]])
pm[j+g[i]]=pm[j]+p[i];
if(pm[g[i]]<p[i])
pm[g[i]]=p[i];
}
for(i=1; i<=g2; i++)
{
// out<<pm[i]<<"\n";
if(pm[i]>max)
max=pm[i];
}
out<<max;
return 0;
}