大佬帮我看看为什么会错啊,虽然本来就超时,但也报错了。
查看原帖
大佬帮我看看为什么会错啊,虽然本来就超时,但也报错了。
997364
sjeozq楼主2023/10/2 09:09
a = input().split(' ')
n = int(a[0])
t = int(a[1])
b = input().split(' ')
q = [0] * (n + 1)
count = [0] * (n + 1)
for i in range(0, n):
    q[i + 1] = int(b[i])
for j in range(1, n + 1):
    if q[j] > 0:
        count[j] += 1
        z = j
        g = q[j]
        while z > 1:
            z = z - 1
            if q[z] <= 0:
                g = g + q[z]
                if g > 0:
                    count[j] += 1
                else:
                    break
for i in range(0, t):
    k = input().split(' ')
    c = int(k[0])
    d = int(k[1])
    Sum = 0
    for j in range(c, d + 1):
        if q[j] > 0:
            Sum += min(count[j], j - c + 1)
    print(Sum)

2023/10/2 09:09
加载中...