Cod sursa(job #3320265)
| Utilizator | Data | 4 noiembrie 2025 19:24:40 | |
|---|---|---|---|
| Problema | Problema rucsacului | Scor | 65 |
| Compilator | cpp-64 | Status | done |
| Runda | Arhiva educationala | Marime | 0.58 kb |
#include <fstream>
using namespace std;
ifstream fin("rucsac.in");
ofstream fout("rucsac.out");
int w[5002],p[5002],optim[5002],sol,n,g;
int main()
{
fin>>n>>g;
for(int i=1;i<=n;i++)
{
fin>>w[i]>>p[i];
}
optim[0]=0;
sol=0;
for(int i=1;i<=n;i++)
{
for(int j=g-w[i];j>=0;j--)
if(optim[j+w[i]] < optim[j]+p[i] )
{
optim[j+w[i]] =optim[j]+p[i] ;
if(optim[j+w[i]]>sol)sol=optim[j+w[i]];
}
}
fout<<sol;
return 0;
}
