Cod sursa(job #2974791)
| Utilizator | Data | 4 februarie 2023 17:37:59 | |
|---|---|---|---|
| Problema | Problema rucsacului | Scor | 0 |
| Compilator | cpp-64 | Status | done |
| Runda | Arhiva educationala | Marime | 0.48 kb |
#include <fstream>
using namespace std;
const int GMAX=10000;
int d[2][GMAX+1];
int main()
{
ifstream fin("rucsac.in");
ofstream fout("rucsac.out");
int n,G,a,b,maxx=0;
fin>>n>>G;
for(int i=1;i<=n;i++)
{
fin>>a>>b;
int r1=i%2,r2=1-r1;
for(int j=a;j<=G;j++)
{
d[r1][j]=max(d[r1][j],d[r2][j-a]+b);
}
}
for(int j=0;j<=G;j++)
maxx=max(maxx,d[n%2][j]);
fout<<maxx;
return 0;
}
