Pagini recente » Cod sursa (job #1740822) | Cod sursa (job #66355) | Cod sursa (job #652941) | Cod sursa (job #2564452) | Cod sursa (job #1731688)
#include <iostream>
#include <fstream>
using namespace std;
const int NMAX = 5000;
const int CMAX = 10000;
int costmaxim;
int n;
int sol;
int P[NMAX],C[NMAX];
int S[CMAX];
int main()
{
ifstream fin("rucsac.in");
ofstream fout("rucsac.out");
fin >> n >> costmaxim;
for(int i=1; i<=n; i++)
{
fin >> C[i] >> P[i];
}
S[0] = 0;
sol = 0;
for(int i=1 ;i<=n; i++)
for(int j=costmaxim - C[i]; j>=0; --j)
{
if(S[j + C[i]]< S[j] + P[i])
{
S[j +C[i]]= S[j] + P[i];
}
if(S[j + C[i]] > sol)
{
sol = S[j + C[i]];
}
}
fout << sol;
fin.close();
fout.close();
return 0;
}