Pagini recente » Diferente pentru utilizator/benny intre reviziile 2 si 1 | Atasamentele paginii -Crainstorm20- | Diferente pentru problema/bicicleta intre reviziile 10 si 11 | Istoria paginii utilizator/fratele_merius | Cod sursa (job #2998851)
#include <bits/stdc++.h>
using namespace std;
ifstream fin("rucsac.in");
ofstream fout("rucsac.out");
int n, g, w[5001], p[5001], a[5001][10001];
int main(){
fin>>n>>g;
for(int i=1; i<=n; i++)
fin>>w[i]>>p[i];
for(int i=1; i<=n; i++){
for(int j=g; j>=w[i]; j--){
a[i][j] = max(a[i-1][j], p[i]+a[i-1][j-w[i]]);
}
}
fout<<a[n][g];
}