Cod sursa(job #2940690)
Utilizator | Mitrica Alessia alessiamtr12 | Data | 16 noiembrie 2022 09:54:37 |
---|---|---|---|
Problema | Problema rucsacului | Scor | 100 |
Compilator | cpp-64 | Status | done |
Runda | Arhiva educationala | Marime | 0.52 kb |
#include <fstream>
using namespace std;
ifstream fin("rucsac.in");
ofstream fout("rucsac.out");
int dp[10001];
int n,g,p,gmax,sol=-1;
int main()
{
fin>>n>>gmax;
for(int i=0;i<=gmax;i++)
dp[i]=-1;
dp[0]=0;
for(int i=1;i<=n;i++)
{
fin>>g>>p;
for(int j=gmax-g;j>=0;j--)
{
if(dp[j]!=-1)
{
dp[j+g]=max(dp[j+g],dp[j]+p);
sol=max(sol,dp[j+g]);
}
}
}
fout<<sol;
return 0;
}