Pagini recente » Cod sursa (job #2509164) | Cod sursa (job #2460959) | Cod sursa (job #1892195) | Istoria paginii utilizator/dianaliciu | Cod sursa (job #1378451)
#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;
}