Pagini recente » Cod sursa (job #2699027) | Cod sursa (job #159794) | Rating cojocaru andrei (cojocaru.andrei) | Cod sursa (job #2323447) | Cod sursa (job #2323343)
#include <iostream>
#include <fstream>
using namespace std;
struct obiecte
{
int w;
int p;
};
int main()
{
ifstream f("rucsac.in");
ofstream g("rucsac.out");
int n,gmax;
f>>n>>gmax;
obiecte o[10];
for(int i=1;i<=n;i++)
f>>o[i].w>>o[i].p;
int **dp;
dp=new int*[n+1];
for(int i=0;i<=n;i++)
dp[i]=new int[gmax+1];
for(int i=0;i<=n;i++)
for(int j=0;j<=gmax;j++)
dp[i][j]=0;
int x,y;
for(int i=1;i<=n;i++)
for(int j=1;j<=gmax;j++)
{
if(j==1)
dp[i][j]=0;
else
{
x=dp[i-1][j];
if(j-o[i].w>=0)
y=dp[i-1][j-o[i].w]+o[i].p;
else
y=0;
dp[i][j]=max(x,y);
}
}
g<<dp[n][gmax];
cout << "Hello world!" << endl;
return 0;
}