Pagini recente » Cod sursa (job #2657231) | Istoria paginii runda/cuplajesiflux | Istoria paginii runda/teqquila_shot | Cod sursa (job #3197216) | Cod sursa (job #2108847)
#include <iostream>
#include <fstream>
#define DN 5001
#define DG 10001
using namespace std;
ifstream fin("rucsac.in");
ofstream fout("rucsac.out");
int n, g, p[DN], w[DN], we[DG], maxim=0;
int pr[DG];
int main()
{
fin>>n>>g;
for(int i=0; i<n; i++)
fin>>w[i]>>p[i];
pr[0]=0;
we[0]=1;
for(int i=0; i<n; i++)
for(int j=g-w[i]; j>=0; j--)
if(we[j]==1)
{
we[w[i]+j]=1;
if(p[i]+pr[j]>pr[w[i]+j])
pr[w[i]+j]=p[i]+pr[j];
}
for(int i=0; i<=g; i++)
if(pr[i]>maxim)
maxim=pr[i];
fout<<maxim;
fin.close();
fout.close();
return 0;
}