Python题解求助,4RE,1MLE
查看原帖
Python题解求助,4RE,1MLE
582302
zxd2499104838楼主2024/1/1 22:02
a = [0] * 5000010
b = [0] * 5000010


def insert(x, y, z):
    b[x] += z
    b[y + 1] -= z


def main():
    n, p = map(int, input().split(' '))
    a[1: n+1] = list(map(int, input().split(' ')))

    # 构造差分数组b
    for i in range(1, n + 1):
        insert(i, i, a[i])

    while p:
        p -= 1
        x, y, z = map(int, input().split(' '))
        insert(x, y, z)

    # 对差分数组b求前缀和,得到经过p次操作后的数组a
    for i in range(1, n + 1):
        a[i] = a[i - 1] + b[i]

    print(min(a[1: n + 1]))


main()

2024/1/1 22:02
加载中...