Cod sursa(job #1110194)

Utilizator PaueyPaula Nicoleta Gradu Pauey Data 17 februarie 2014 21:18:51
Problema Problema rucsacului Scor 50
Compilator cpp Status done
Runda Arhiva educationala Marime 0.58 kb
#include <cstdio>
#include <algorithm>
using namespace std;
int d[5050][10100];
int gi[5050], p[5050];

int main()
{
    freopen("rucsac.in","r",stdin);
    freopen("rucsac.out","w",stdout);
    int n,g,i,j,pmax=0;
    scanf("%d%d",&n,&g);
    for(i=1;i<=n;i++) scanf("%d%d",&gi[i],&p[i]);
    for(i=1;i<=n;i++)
    {
      for(j=0;j<=g;j++)
      {
            d[i][j]=d[i-1][j];
            if(gi[i]<=j)
            {
               d[i][j]=max(d[i][j],d[i-1][j-gi[i]]+p[i]);
            }
      }
    }
    pmax=d[n][g];
    printf("%d\n",pmax);
    return 0;
}