单项选择题

下面的伪码最可能是用来求解哪个问题的方案?()
for(inti=n-1;i>1;i--){
jMax=min(W[i]-1,c);
for(intj=0;j< =jMax;j++){
m[i][j]=m[i+1][j];
}
for(j=w[];j< =c;j++){
m[][j]=max(m[i+1][j],m[i+1][j-w[]]+v[]);

A.活动安排问题
B.最优前缀码
C.全排列问题
D.0-1背包问题