编辑代码

# coding:utf-8
#JSRUN引擎2.0,支持多达30种语言在线运行,全仿真在线交互输入输出。 
def main():
    # 读取输入
    height = list(map(int, input().split()))
    n = len(height)
    if n < 2:
        print(0)
        return
    
    # 预处理前缀和数组
    prefix = [0] * (n + 1)
    for i in range(n):
        prefix[i+1] = prefix[i] + height[i]
    
    max_volume = 0
    best_pairs = []
    
    # 遍历所有可能的i<j组合
    for i in range(n):
        for j in range(i+1, n):
            min_h = min(height[i], height[j])
            width = j - i - 1
            if width <= 0:
                continue
            # 计算中间部分的和
            sum_mid = prefix[j] - prefix[i+1]
            volume = min_h * width - sum_mid
            if volume <= 0:
                continue  # 无效的蓄水量
            # 更新最大值和最佳对
            if volume > max_volume:
                max_volume = volume
                best_pairs = [(i, j)]
            elif volume == max_volume:
                best_pairs.append((i, j))
    
    if max_volume == 0:
        print(0)
    else:
        # 寻找j-i最小且i最小的对
        min_distance = float('inf')
        best_i, best_j = -1, -1
        for (i, j) in best_pairs:
            current_dist = j - i
            if current_dist < min_distance:
                min_distance = current_dist
                best_i, best_j = i, j
            elif current_dist == min_distance:
                if i < best_i:
                    best_i, best_j = i, j
        print(f"{best_i} {best_j}:{max_volume}")

if __name__ == "__main__":
    main()