Pagini recente » Cod sursa (job #447991) | Cod sursa (job #1951980) | Cod sursa (job #483639) | Cod sursa (job #298704) | Cod sursa (job #1897307)
#include<cstdio>
using namespace std;
int n,gmax,i,j,x[10001],y[10001],p[5001],g[5001];
int main()
{
freopen("rucsac.in","r",stdin);
freopen("rucsac.out","w",stdout);
scanf("%d%d",&n,&gmax);
for(i=1;i<=n;i++)
scanf("%d%d",&g[i],&p[i]);
for(i=1;i<=n;i++)
{
x[g[i]]++;
y[g[i]]=p[i];
}
for(i=1;i<=n;i++)
{
for(j=g[i];j<=gmax;j=j+g[i])
{
if(y[j]+g[i]>y[g[i]])
{
y[g[i]]=y[j]+g[i];
x[j]++;
}
}
}
for(i=gmax;i>=1;i--)
if(x[i]>0)
{
printf("%d",y[i]);
break;
}
return 0;
}