Pagini recente » Cod sursa (job #1672040) | Cod sursa (job #2827018) | Profil Athanaric | Cod sursa (job #1055707) | Cod sursa (job #1114406)
#include <fstream>
#define maxim(a,b) a>b ? a : b
using namespace std;
int d[10001];
int main()
{
ifstream fin("rucsac.in");
ofstream fout("rucsac.out");
int N, G, i, j, w, p, MAX;
fin >> N >> G;
for(i=1 ; i<=N ; ++i)
{
fin >> w >> p;
for(j=G ; j>w ; --j)
if(d[j - w])
if(d[j] < p + d[j - w])
d[j] = d[j - w] + p;
if(d[w] < p)
d[w] = p;
}
MAX = 0;
for(i=1 ; i<=G ; ++i)
MAX = maxim(MAX,d[i]);
fout << MAX;
return 0;
}