Pagini recente » infoarena - comunitate informatica, concursuri de programare | Monitorul de evaluare | Statistici Novak Milan (novakmilan) | infoarena - comunitate informatica, concursuri de programare | Cod sursa (job #687989)
Cod sursa(job #687989)
#include<fstream>
#define Nmax 5001
#define Gmax 10001
using namespace std;
int best[2][Gmax], c[Nmax], g[Nmax];
int i, j, G, n, k;
int main()
{
freopen("rucsac.in", "r", stdin);
freopen("rucsac.out", "w", stdout);
scanf("%d%d%", &n, &G);
for(i=1;i<=n;i++)
scanf("%d%d", &g[i], &c[i]);
int k=0;
for(i=1;i<=n;++i, k=1-k)
for(j=0;j<=G;++j)
{
best[1-k][j]=best[k][j];
if(g[i]<=j)
best[1-k][j]=max(best[1-k][j], best[k][j-g[i]]+c[i]);
}
printf("%d\n", best[k][G]);
fclose(stdin);
fclose(stdout);
return 0;
}