Cod sursa(job #942373)

Utilizator HotSteelBeteag Ion Andrei HotSteel Data 22 aprilie 2013 10:16:39
Problema Problema rucsacului Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.62 kb
#include <cstdio>

using namespace std;

int g1[10010];
int g2[10010];

void vcpy(int v1[],int v2[],int n)
{
	int i;
	for(i=1;i<=n;++i)
	{
		v1[i]=v2[i];
		v2[i]=0;
	}
}

int main()
{
    freopen("rucsac.in","r",stdin);
    freopen("rucsac.out","w",stdout);
    int n,g;
    int w,p;
    scanf("%d%d",&n,&g);
    int i,j;
    int a1,a2;
    for(i=1;i<=n;++i)
    {
    	scanf("%d%d",&w,&p);
    	for(j=1;j<=g;++j)
    	{
    		if(w<=j)
				a1=g1[j-w]+p;
			else
				a1=0;
			a2=g1[j];
    		g2[j]=a2 > a1 ? a2 : a1;
    	}
    	vcpy(g1,g2,g);
    }
    printf("%d",g1[g]);
    return 0;
}