Pagini recente » Atasamentele paginii Profil marian_ak47 | Cod sursa (job #2198500) | Cod sursa (job #3358406) | Monitorul de evaluare | 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;
}