Cod sursa(job #2044651)
Utilizator | Preda Andrei PredaBoss | Data | 21 octombrie 2017 11:44:17 |
---|---|---|---|
Problema | Problema rucsacului | Scor | 50 |
Compilator | cpp | Status | done |
Runda | Arhiva educationala | Marime | 0.44 kb |
#include <bits/stdc++.h>
using namespace std;
ifstream fin ("rucsac.in");
ofstream fout ("rucsac.out");
int w[1001],p[1001],a[1005][1005];
int main()
{int n,g,i,j,c,Pmax;
fin>>n>>g;
j=0;
Pmax=0;
for(i=1;i<=n;i++){
fin>>w[i]>>p[i];}
for(i=1;i<=n;i++){
for(j=1;j<=g;j++){
a[i][j]=a[i-1][j];
if(w[i]<=j){
a[i][j]=max(a[i-1][j],a[i-1][j-w[i]]+p[i]);}}}
fout<<a[n][g];
return 0;
}