Cod sursa(job #1777484)
| Utilizator | Data | 12 octombrie 2016 16:03:57 | |
|---|---|---|---|
| Problema | Problema rucsacului | Scor | 0 |
| Compilator | cpp | Status | done |
| Runda | Arhiva educationala | Marime | 0.56 kb |
#include <iostream>
#include <cstdio>
#include <algorithm>
#define Nmax 5010
using namespace std;
int n,g,G,P;
int rucsac[Nmax];
void read()
{
freopen("rucsac.in","r",stdin);
freopen("rucsac.out","w",stdout);
scanf("%d %d",&n,&g);
for(int i = 0 ; i < n ; i++)
{
scanf("%d %d",&G,&P);
for(int j = g ; j > G - 1 ; j--)
rucsac[j] = max(rucsac[j],rucsac[j-G] + P);
}
for(int i = 0 ; i <= g ; i++)
printf("%d ",rucsac[i]);
}
int main()
{
read();
return 0;
}
