Cod sursa(job #2139616)
Utilizator | Data | 22 februarie 2018 17:43:36 | |
---|---|---|---|
Problema | Problema rucsacului | Scor | 100 |
Compilator | cpp | Status | done |
Runda | Arhiva educationala | Marime | 0.38 kb |
#include <bits/stdc++.h>
using namespace std;
ifstream fin("rucsac.in");
ofstream fout("rucsac.out");
int n, g, dp[10002], w[5002], p[5002];
int main()
{
int i, j;
fin>>n>>g;
for(i=1; i<=n; i++) fin>>w[i]>>p[i];
for(i=1; i<=n; i++)
for(j=g; j>=w[i]; j--)
dp[j]=max(dp[j],dp[j-w[i]]+p[i]);
fout<<dp[g]<<'\n';
return 0;
}