Cod sursa(job #2570853)
Utilizator | Data | 4 martie 2020 19:40:39 | |
---|---|---|---|
Problema | Problema rucsacului | Scor | 0 |
Compilator | cpp-64 | Status | done |
Runda | Arhiva educationala | Marime | 0.41 kb |
#include<bits/stdc++.h>
using namespace std;
ifstream fin("rucsac.in"); ofstream fout("rucsac.out");
int N, G, w[5010], p[5010];
long long c[5010][10010];
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 g=w[i]; g<=G; g++){
c[i][g]=max(c[i-1][g], c[i-1][max(0, g-w[i])]+p[i] );
}
}
fout<<c[N][G];
return 0;
}