Cod sursa(job #2486434)
| Utilizator | Data | 2 noiembrie 2019 21:10:55 | |
|---|---|---|---|
| Problema | Problema rucsacului | Scor | 0 |
| Compilator | cpp-64 | Status | done |
| Runda | Arhiva educationala | Marime | 0.61 kb |
#include <fstream>
using namespace std;
ifstream fin("rucsac.in");
ofstream fout("rucsac.out");
struct perechi{int gr;int pr;}v[5005];
int r[10005],n,g;
int main()
{
int i,j;
fin>>n>>g;
for(i=1; i<=n; i++)
fin>>v[i].gr>>v[i].pr;
for(i=1; i<=g; i++)
{
if(v[1].gr<=i)
r[i]=v[1].pr;
}
for(i=2; i<=n; i++)
{
for(j=g; j>=1; j--)
{
if(j-v[i].gr>0)
r[j]=max(r[j-v[i].gr]+v[i].pr,r[j]);
else r[j]=0;
}
}
fout<<r[g];
fin.close();
fout.close();
return 0;
}
