Pagini recente » Cod sursa (job #554057) | Cod sursa (job #1968897) | Cod sursa (job #103046) | Cod sursa (job #1776083) | Cod sursa (job #997514)
Cod sursa(job #997514)
#include <fstream>
std::ifstream f("ruxac.in");
std::ofstream g("ruxac.out");
int N, G;
int P[5005], W[5005], D[2][10005];
int main()
{
f>>N>>G;
for(int i = 1; i <= N; i++)
{
f>>W[i]>>P[i];
}
int l=0;
for(int i = 1; i <= N; ++i, l = 1 - l)
for(int cw = 0; cw <= G; ++cw)
{
D[1-l][cw] = D[l][cw];
if(W[i] <= cw)
D[1-l][cw] = std::max(D[1-l][cw], D[l][cw - W[i]] + P[i]);
}
g<<D[l][G]<<"\n"; g.close();
return 0;
}