Pagini recente » Diferente pentru problema/cuantictiori intre reviziile 79 si 3 | Cod sursa (job #1941538) | Diferente pentru problema/irmcast intre reviziile 2 si 1 | Diferente pentru problema/colonii intre reviziile 3 si 2 | Cod sursa (job #1813215)
#include <fstream>
using namespace std;
ifstream fin("rucsac.in");
ofstream fout("rucsac.out");
int n,G;
int g[5002],p[5002];
int D[5002][10002];
int maxim(int a,int b)
{
return a>b?a:b;
}
int main()
{
fin>>n>>G;
for(int i=0;i<n;i++)
fin>>g[i]>>p[i];
for (int i=0;i<n;i++)
for (int cw = 0; cw <= G; ++cw)
{
D[i][cw] = D[i-1][cw];
if(g[i] <= cw)
D[i][cw] = maxim(D[i][cw], D[i - 1][cw - g[i]] + p[i]);
}
fout<<D[n-1][G];
}