Pagini recente » Cod sursa (job #2587014) | Cod sursa (job #3233780) | Cod sursa (job #3182332) | Cod sursa (job #2864978) | Cod sursa (job #2659287)
#include <iostream>
#include <fstream>
#include <vector>
#include <queue>
#include <set>
#include <algorithm>
#include <list>
#include <map>
#include <math.h>
#define NMAX 100001
using namespace std;
ifstream f("rucsac.in");
ofstream g("rucsac.out");
int greutate[5001];
int profit[5001];
int optim[10001];
int main() {
int n;
f>>n;
int G_Max;
f>>G_Max
for(int i=1;i<=n;i++)
{
f>>greutate[i]>>profit[i];
}
optim[0] =0 ;
int sol =0 ;
for(int i=1;i<=n;i++)
{
for(int j=G_Max - greutate[i] ; j>=0 ;j--)
{
if(optim[j+greutate[i]] < optim[j] + profit[i])
{
optim[j+greutate[i]] = optim[j] + profit[i];
if(optim[j+greutate[i]] > sol)sol= optim[j+greutate[i]];
}
}
}
g<<sol;
return 0;
}