Pagini recente » Cod sursa (job #2824691) | Cod sursa (job #2699784) | Cod sursa (job #552909) | Cod sursa (job #2274572) | Cod sursa (job #2952497)
#include <fstream>
using namespace std;
ifstream fin("rucsac.in");
ofstream fout("rucsac.out");
int d[10005];/// profitul maxim pt a transporta obiecte
/// cu suma greutatilor egala cu i
int n;
int w;
int maxim=0;
int main()
{
int G;
fin>>n>>G;
for(int i=1;i<=n;i++)
{
d[i]=-1;
}
for(int i=1;i<=n;i++)
{
int p,g;
fin>>g>>p;
for(int j=G-g;j>=0;j--)
{
if(d[j]!=-1) /// anterior am obt suma de greutate j
{
if(d[j]+p>d[j+g])
{
d[j+g]=d[j]+p;
}
}
}
}
for(int j=1;j<=G;j++)
{
maxim=max(maxim,d[j]);
}
fout<<maxim;
}