Pagini recente » Cod sursa (job #1543818) | Cod sursa (job #624482) | Cod sursa (job #519965) | Cod sursa (job #2180727) | Cod sursa (job #1595192)
#include<fstream>
#include<iostream>
#define maxn 5001
#define maxg 10001
using namespace std;
int g[maxn], V[maxn];
int F[maxg];
int main()
{
ifstream fin("rucsac.in");
ofstream fout("rucsac.out");
// Citirea numarului de obiecte si a greutatii maxime
int N, G;
fin>>N>>G;
// Citirea greutatii si a valorii
for(int i=1;i<=N;i++)
fin>>g[i]>>V[i];
int s=0;
for(int i=1;i<=N;i++)
{
for(int j=G-g[i];j>=0;j--)
{
if(F[j+g[i]] < F[j] + V[i])
F[j+g[i]] = F[j] + V[i];
if(F[j+g[i]] > s)
s = F[j+g[i]];
}
}
fout<<s;
}