Cod sursa(job #820135)

Utilizator popacamilpopa camil popacamil Data 20 noiembrie 2012 09:20:58
Problema Problema rucsacului Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.63 kb
#include<cstdio>
#include<algorithm>

using namespace std;

int n,gmax,G,g[5005],i,j,profit[2][10005],c[5005],maxim,si,x;

int main(){

    freopen("rucsac.in","r",stdin);
    freopen("rucsac.out","w",stdout);

    scanf("%d%d",&n,&gmax);

    for(i=1;i<=n;++i){

        scanf("%d%d",&g[i],&c[i]);

    }
    int l=0;
    for(int i=1;i<=n;++i,l=1-l){

        for(G=1;G<=gmax;++G){

            profit[1-l][G]=profit[l][G];

            if(g[i]<=G){

                profit[1-l][G]=max(profit[1-l][G],profit[l][G-g[i]]+c[i]);

            }

        }

    }

    printf("%d",profit[l][gmax]);
    return 0;
}