Cod sursa(job #1118697)

Utilizator bogdanpaunFMI Paun Bogdan Gabriel bogdanpaun Data 24 februarie 2014 12:46:51
Problema Problema rucsacului Scor 65
Compilator cpp Status done
Runda Arhiva educationala Marime 0.55 kb
#include <cstdio>
#include <utility>
#include <algorithm>
using namespace std;
int v[2][5005];
int main()
{
    int N,G;
    freopen("rucsac.in","r",stdin);
    freopen("rucsac.out","w",stdout);
    scanf("%d%d",&N,&G);
    int x,y,k=0;
   for(register int i=1;i<=N;++i){
        scanf("%d%d",&x,&y);
        k=1-k;
        for(register int j=1;j<=G;++j){
            v[k][j]=v[1-k][j];
            if( v[ 1-k ][j - x ] + y > v[k][j] && x<=j   )      v[k][j]=v[ 1-k ][j - x ] + y;
        }
   }


    printf("%d",v[k][G]);
    return 0;
}