Cod sursa(job #3287999)
| Utilizator | Data | 20 martie 2025 11:49:02 | |
|---|---|---|---|
| Problema | Problema rucsacului | Scor | 100 |
| Compilator | cpp-64 | Status | done |
| Runda | Arhiva educationala | Marime | 0.64 kb |
#include <fstream>
using namespace std;
ifstream fcin("rucsac.in");
ofstream fout("rucsac.out");
int n,g,maxx,d1[10000],d2[10001];
struct obiect
{
int x,y;
};
obiect v[10000];
int main()
{
fcin>>n>>g;
for(int i=1; i<=n; i++)
{
fcin>>v[i].x>>v[i].y;
}
for(int i=1; i<=n; i++)
{
for(int j=1; j<=g; j++)
{
if(j-v[i].x>=0)
d1[j]=max(d2[j],d2[j-v[i].x]+v[i].y);
if(i==n && j==g)
{
fout<<d1[j];
return 0;
}
}
for(int j=1; j<=g; j++) d2[j]=d1[j];
}
return 0;
}
