Pagini recente » Cod sursa (job #2555060) | Cod sursa (job #578413) | Cod sursa (job #3212257) | Cod sursa (job #2555446) | Cod sursa (job #713670)
Cod sursa(job #713670)
#include <iostream>
#include <stdio.h>
#define NMAX 5001
#define C 10001
using namespace std;
int n,c,p[NMAX],g[NMAX],cost[2][C];
void citire()
{
freopen ("rucsac.in","r",stdin);
scanf ("%d%d",&n,&c);
for (int i=1;i<=n;i++)
scanf ("%d%d",&g[i],&p[i]);
}
int main()
{
citire();
int l=0;
/* for (int j=0;j<=c;j++)
if (g[0]==j)
cost[0][j]=p[0];*/
for (int i=1;i<=n;i++)
{
l=1-l;
for (int j=1;j<=c;j++)
{
cost[l][j]=cost[1-l][j];
if (g[i]==j && g[i]<=c && cost[l][j]<p[i])
cost[l][j]=p[i];
int s=cost[1-l][j-g[i]]+p[i];
if (g[i]<=j && cost[l][j]<s)
cost[l][j]=s;
}
}
freopen ("rucsac.out","w",stdout);
printf("%d",cost[l][c]);
return 0;
}