假设profit[i]为在前i个位置修建酒店所获得的最大利润,当i=0时,profit[0]=0。当i>0时,若j为上一个满足m[i]-m[j]k的位置。若profit[i-1]>profit[i-1]+p,说明在前i个位置开酒店所获得的利润小于前j个位置开酒店所获得的利润,否则,前i个位置修建酒店获得的利润大于前j个位置修建酒店所获得的利润,则可以在此处修建酒店。所以能否在此处修建酒店,取决于profit[i]=max{profit[i-1],profit[j]+p}答案: