Official
B - 気温チェック / Temperature Check Editorial
by
B - 気温チェック / Temperature Check Editorial
by
sounansya
\(A_L+A_{L+1}+\ldots+A_R\) は累積和を用いることで高速に計算できます。
したがって、\(A\) の累積和を計算し、各クエリ \(O(1)\) 時間で判定することでこの問題に正答することができます。
n, m = map(int, input().split())
a = list(map(int, input().split()))
b = [0] * (n + 1)
for i in range(n):
b[i + 1] = b[i] + a[i]
for i in range(m):
l, r, k = map(int, input().split())
if b[r] - b[l - 1] >= k:
print("Dangerous")
else:
print("Safe")
posted:
last update:
