Cod sursa(job #1914778)

Utilizator delta_wolfAndrei Stoica delta_wolf Data 8 martie 2017 18:32:40
Problema Problema rucsacului Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.55 kb
#include <cstdio>
#include <cstdio>
#include <algorithm>

using namespace std;
int i,j,k,n,G,g[5001],p[5001];
int d[2][10001];

int main ()
{


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

    return 0;}