Cod sursa(job #760822)

Utilizator vasile_pojogaPojoga Vasile vasile_pojoga Data 23 iunie 2012 10:23:02
Problema Problema rucsacului Scor 100
Compilator c Status done
Runda Arhiva educationala Marime 0.58 kb
#include <stdio.h>

void main(void){
     int w[5001],p[5001],d[2][10001];
     freopen("rucsac.in","r",stdin);
     freopen("rucsac.out","w",stdout);
     int n,i,j,k,g;
     scanf("%d%d",&n,&g);
     for (i=1;i<=n;i++) scanf("%d%d",&w[i],&p[i]);
     i=0;
     for (k=1;k<=n;k++){
         i=1-i;
         for (j=0;j<=g;j++){
             d[i][j]=d[1-i][j];
             if (j>=w[k])
                if (d[1-i][j-w[k]]+p[k]>d[i][j]) d[i][j]=d[1-i][j-w[k]]+p[k];
             }
             }
     printf("%d",d[i][g]);  
     fclose(stdout);           
     }