Cod sursa(job #1865828)
Utilizator | Data | 2 februarie 2017 10:10:52 | |
---|---|---|---|
Problema | Problema rucsacului | Scor | 0 |
Compilator | cpp | Status | done |
Runda | Arhiva educationala | Marime | 0.37 kb |
#include <bits/stdc++.h>
using namespace std;
int n,g,w[5100],p[5100],i,j,D[5100][10100];
int main(){
ifstream cin ("rucsac.in");
ofstream cout ("rucsac.out");
cin>>n>>g;
for (i=1; i<=n; i++) cin>>w[i]>>p[i];
for (i=1; i<=n; i++){
for (j=1; j<=g; j++){
if (j>=w[i]) D[i][j]=max(D[i-1][j],(D[i-1][j-w[i]]+p[i]));
}
}
cout<<D[n][g];
return 0;
}