Cod sursa(job #2485814)
| Utilizator | Data | 2 noiembrie 2019 09:28:22 | |
|---|---|---|---|
| Problema | Problema rucsacului | Scor | 100 |
| Compilator | cpp-64 | Status | done |
| Runda | Arhiva educationala | Marime | 0.57 kb |
#include<iostream>
#include<fstream>
#include<algorithm>
using namespace std;
ifstream fin ("rucsac.in");
ofstream fout ("rucsac.out");
int gr[5005], co[5005], n, gmax, a[10005], b[10005];
int main ()
{
int i, j;
fin>>n>>gmax;
for (i=1; i<=n; i++)
fin>>gr[i]>>co[i];
for (i=1; i<=n; i++)
{
for (j=1; j<=gmax; j++)
{
if (j>=gr[i])
a[j]=max(b[j-gr[i]]+co[i], b[j]);
else a[j]=b[j];
}
swap(a, b);
}
fout<<b[gmax];
fin.close();
fout.close();
return 0;
}
