Pagini recente » Cod sursa (job #864170) | Cod sursa (job #1208682) | Cod sursa (job #561127) | Cod sursa (job #2338128) | Cod sursa (job #1731682)
#include <iostream>
#include <fstream>
#include <algorithm>
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;
}