Pagini recente » Cod sursa (job #677819) | Cod sursa (job #82182) | Cod sursa (job #2688756) | Cod sursa (job #2541862) | Cod sursa (job #3002650)
#include <bits/stdc++.h>
using namespace std;
ifstream f("rucsac.in");
ofstream z("rucsac.out");
int main()
{int n,g,s,maxim;
f>>n;
f>>g;
int a[n+1][2];
int d[n][g];
for(int i=1;i<=n;i++){
f>>a[i][0];
f>>a[i][1];
}
for(int i=0;i<=n;i++)
for(int j=0;j<=g;j++){
d[0][j]=0;
if(j>=a[i][0]){
d[i][j]=a[i][1];
if(a[i][1]+d[i-1][j-a[i][0]]>d[i-1][j])//compara val de la elem act si celelate elemente(maxima(in fct de greutate(adica cat poate sa mai bage in rucsac in functie de elem la care esti)) cu cel de deasupra lui
d[i][j]=a[i][1]+d[i-1][j-a[i][0]];
else
d[i][j]=d[i-1][j];
}
else
d[i][j]=d[i-1][j];
}
maxim=d[n][g];
z<<maxim;
return 0;
}