题解每栋建筑的高度可以独立选择。因此,对每栋建筑 iii 求出 max(B1,…,BAi)\max(B_1,\ldots,B_{A_i})max(B1,…,BAi),再将这些值相加即可。 依次对 h=2,3,…,Mh=2,3,\ldots,Mh=2,3,…,M 执行 Bh←max(Bh,Bh−1)B_h \gets \max(B_h,B_{h-1})Bh←。此后, 保存原数列前 个元素的最大值。答案为 。 时间复杂度为 O(N+M)O(N+M)O(N+M),空间复杂度为 O(N+M)O(N+M)O(N+M)。