Cod sursa(job #2486436)
| Utilizator | Data | 2 noiembrie 2019 21:16:10 | |
|---|---|---|---|
| Problema | Problema rucsacului | Scor | 100 |
| Compilator | cpp-64 | Status | done |
| Runda | Arhiva educationala | Marime | 0.65 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)
{
if(r[j-v[i].gr]+v[i].pr>r[j])
r[j]=r[j-v[i].gr]+v[i].pr;
}
}
}
fout<<r[g];
fin.close();
fout.close();
return 0;
}
