๐๏ธ Algorithm/๐ฉ ๋ฐฑ์ค
๐ฉ [๋ฐฑ์ค] [Python] Class3_11659๋ฒ_๊ตฌ๊ฐ ํฉ ๊ตฌํ๊ธฐ 4
Dbswnstjd
2022. 10. 31. 00:49
๋ฌธ์
https://www.acmicpc.net/problem/11659
11659๋ฒ: ๊ตฌ๊ฐ ํฉ ๊ตฌํ๊ธฐ 4
์ฒซ์งธ ์ค์ ์์ ๊ฐ์ N๊ณผ ํฉ์ ๊ตฌํด์ผ ํ๋ ํ์ M์ด ์ฃผ์ด์ง๋ค. ๋์งธ ์ค์๋ N๊ฐ์ ์๊ฐ ์ฃผ์ด์ง๋ค. ์๋ 1,000๋ณด๋ค ์๊ฑฐ๋ ๊ฐ์ ์์ฐ์์ด๋ค. ์ ์งธ ์ค๋ถํฐ M๊ฐ์ ์ค์๋ ํฉ์ ๊ตฌํด์ผ ํ๋ ๊ตฌ๊ฐ i์ j
www.acmicpc.net
ํ์ด
# ๋ฐฑ์ค 11659๋ฒ ๋ฌธ์ - ๊ตฌ๊ฐ ํฉ ๊ตฌํ๊ธฐ
import sys
n, m = map(int, sys.stdin.readline().split())
arr = list(map(int, input().split()))
sum_list = [0]
total = 0
for i in range(len(arr)):
total += arr[i]
sum_list.append(total)
for _ in range(m):
i, j = map(int, input().split())
print(sum_list[j] - sum_list[i-1])
๊ตฌ๊ฐํฉ์ ์ดํด๋ณด๋ฉด
# S๋ 0๋ถํฐ i๊น์ง์ ๊ตฌ๊ฐํฉ
S = [0,5,9,12,14,15]
# 0~2์ ๊ตฌ๊ฐํฉ
arr[0] + arr[1] + arr[2] = 12
S[3] - S[0] = 12 - 0 = 12
# 1~3์ ๊ตฌ๊ฐํฉ
arr[1] + arr[2] + arr[3] = 9
S[4] - S[1] = 14 - 5 = 9
์ด์ ๊ฐ์ ๊ณต์์ ์ป์ ์ ์๋ค.
์ด๋ฅผ ํตํด i ๋ถํฐ j ๊น์ง์ ๊ตฌ๊ฐํฉ์
(j+1๊น์ง์ ๊ตฌ๊ฐํฉ) - (i๊น์ง์ ๊ตฌ๊ฐํฉ) ์ด๋ผ๊ณ ๋ณผ ์ ์๋ค.
๊ณต์์ ์ป๊ฒ๋๋ฉด ๋ฌธ์ ๋ฅผ ์ฝ๊ฒ ํด๊ฒฐํ ์ ์๋ค.