ABC 106 D AtCoderExpress2【Python】
問題はこちら。
1次元区間の問題なのに2次元累積和が使えるのがおもしろい。
N, M, Q = map(int, input().split())
plot = [[0]*(N + 2) for _ in range(N + 2)]
for _ in range(M):
L, R = map(int, input().split())
plot[L][R] += 1
for l in reversed(range(N + 1)):
for r in range(N + 1):
plot[l][r] += plot[l + 1][r] + plot[l][r - 1] - plot[l + 1][r - 1]
for _ in range(Q):
p, q = map(int, input().split())
print(plot[p][q])
この記事が気に入ったらサポートをしてみませんか?