Pagini recente » Cod sursa (job #156003) | Cod sursa (job #1954956) | Cod sursa (job #2166479) | Cod sursa (job #1533265) | Cod sursa (job #1958238)
#include <cstdio>
#include <cstring>
using namespace std;
int d[10005];
int myma(int a,int b)
{
if(a > b)
return a;
return b;
}
int main()
{
freopen("rucsac.in","r",stdin);
freopen("rucsac.out","w",stdout);
int n , g , p , cw , G;
scanf("%d%d",&n,&G);
memset(d,-1,sizeof(d));
d[0] = 0;
int last = 0;
for(int i = 1 ; i <= n ; i++)
{
scanf("%d%d",&g,&p);
for(int j = last ; j >= 0 ; j--)
{
if(j + g <= G)
{
if(d[j] + p > d[j+g])
{
d[j+g] = d[j] + p;
if(j + g > last)
last = j + g;
}
}
}
}
int ma = 0;
for(int i = 0 ; i <= last ; i++)
if(d[i] > ma)
ma = d[i];
printf("%d",ma);
return 0;
}