๋ฌธ์
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๊น์ง์ ๊ตฌ๊ฐํฉ) ์ด๋ผ๊ณ ๋ณผ ์ ์๋ค.
๊ณต์์ ์ป๊ฒ๋๋ฉด ๋ฌธ์ ๋ฅผ ์ฝ๊ฒ ํด๊ฒฐํ ์ ์๋ค.
'๐๏ธ Algorithm > ๐ฉ ๋ฐฑ์ค' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
๐ฉ [๋ฐฑ์ค] [Python] Class3_2407๋ฒ_ ์กฐํฉ (0) | 2022.10.31 |
---|---|
๐ฉ [๋ฐฑ์ค] [Python] Class3_11727๋ฒ_ 2 x n ํ์ผ๋ง 2 (0) | 2022.10.31 |
๐ฉ [๋ฐฑ์ค] [Python] Class3_9461๋ฒ_ํ๋๋ฐ ์์ด (0) | 2022.10.30 |
๐ฉ [๋ฐฑ์ค] [Python] Class3_9375๋ฒ_ํจ์ ์ ์ ํด๋น (0) | 2022.10.30 |
๐ฉ [๋ฐฑ์ค] [Python] Class3_2606๋ฒ_๋ฐ์ด๋ฌ์ค (0) | 2022.10.30 |