Cod sursa(job #2952501)
| Utilizator | Data | 9 decembrie 2022 14:18:52 | |
|---|---|---|---|
| Problema | Problema rucsacului | Scor | 15 |
| Compilator | cpp-64 | Status | done |
| Runda | Arhiva educationala | Marime | 0.56 kb |
#include <fstream>
using namespace std;
ifstream fin("rucsac.in");
ofstream fout("rucsac.out");
int d[100005],n;
int w,g,p,i,G,j,maxim;
int main()
{
fin>>n>>G;
for(i=1; i<=n; i++)
{
d[i]=-1;
}
for(i=1; i<=n; i++)
{
fin>>g>>p;
for(int j=G-g; j>=0; j--)
{
if(d[j]!=-1)
if(d[j]+p>d[j+g])
{
d[j+g]=d[j]+p;
}
}
}
for(j=1;j<=n;j++)
maxim=max(maxim,d[j]);
fout<<maxim;
return 0;
}
