Pagini recente » Cod sursa (job #1713214) | Cod sursa (job #1236568) | Cod sursa (job #2260919) | Cod sursa (job #2115147) | Cod sursa (job #1813214)
#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][G];
}