Cod sursa(job #1378451)

Utilizator trust2014Alex Murariu trust2014 Data 6 martie 2015 12:17:42
Problema Problema rucsacului Scor 0
Compilator cpp Status done
Runda Arhiva educationala Marime 0.63 kb
#include <iostream>
#include <fstream>
#include <algorithm>
#include <string.h>
using namespace std;
ifstream f("parantezare.in");
ofstream g("parantezare.out");
#define MAX(a,b) ((a)>(b)?(a):(b))

int knapsack(int n,int W){
    int G[1024],P[1024];
	int maxx[1024];
	for(int i=0;i<n;i++)
        f>>G[i];
    for(int i=0;i<n;i++)
        f>>P[i];
    memset(maxx,0,sizeof(maxx));
	int best=0;

	for (int i=0;i<n;i++)
		for (int j=W;j>=G[i];j--)
			maxx[j]=MAX(maxx[j],maxx[j-G[i]]+P[i]),
                best=MAX(maxx[j],best);

	return best;
}





int main()
{
g<<knapsack(6,10);
return 0;
}