Cod sursa(job #807577)

Utilizator danutbodbodnariuc danut danutbod Data 4 noiembrie 2012 22:50:46
Problema Problema rucsacului Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.92 kb

#include<fstream> //100p infoarena cu  doi vectori
using namespace std;
ifstream f("rucsac.in");
ofstream g("rucsac.out");
int n,gv,i,j,gr,c,a,b;
int best[3][10010];
int main()
{
    f>>n>>gv;
    a=1;b=2;
    for(i=1;i<=n;i++)
    {
        f>>gr>>c;
        for(j=1;j<=gv;j++)
        {
            if(gr<=j) best[b][j]=max(best[a][j],best[a][j-gr]+c);
            else best[b][j]=best[a][j];
        }
        swap(a,b);
    }
    g<<best[a][gv]<<'\n';
    f.close();g.close();
    return 0;
}
/*
#include<fstream>
using namespace std;
#define Vmax 10010
int gr[Vmax], c[Vmax],best[Vmax],n, gv;
ifstream f("rucsac.in");
ofstream g("rucsac.out");
int main() {
	f>>n>>gv;
	for (int i = 1; i <= n; ++i) f>>gr[i]>>c[i];
    for( int i = 1; i <= n; ++i)
       for( int j = gv - gr[i]; j >= 0; --j)
		 best[j+gr[i]]=max(best[j+gr[i]],best[j] + c[i]);

	g<<best[gv];
	g.close();
	return 0;
}
*/