Pagini recente » Cod sursa (job #1064459) | Cod sursa (job #437623) | Cod sursa (job #2206414) | Cod sursa (job #808154) | Cod sursa (job #1367115)
#include <stdio.h>
int n,G;
int a[5][10001];
int p[5001],g[5001];
int maxim(int a,int b)
{
if(a<b) return b;
return a;
}
int main()
{
freopen ("energii.in","r",stdin);
freopen ("energii.out","w",stdout);
scanf("%d%d",&n,&G);
for(int i=1;i<=n;i++)
{
scanf("%d%d",&g[i],&p[i]);
}
for(int i=1;i<=n;i++)
{
for(int j=1;j<=G;j++)
{
if(j-g[i]<0) a[2][j]=a[1][j];
else
{
a[2][j]=maxim(a[1][j],a[1][j-g[i]]+p[i]);
}
}
for(int j=1;j<=G;j++) a[1][j]=a[2][j];
}
printf("%d\n",a[2][G]);
}