[๋ฐฑ์ค€-11659] ๊ตฌ๊ฐ„ ํ•ฉ ๊ตฌํ•˜๊ธฐ4 / Python

๐Ÿ“š Problem Solving/Baekjoon

 

11659๋ฒˆ: ๊ตฌ๊ฐ„ ํ•ฉ ๊ตฌํ•˜๊ธฐ 4

์ฒซ์งธ ์ค„์— ์ˆ˜์˜ ๊ฐœ์ˆ˜ N๊ณผ ํ•ฉ์„ ๊ตฌํ•ด์•ผ ํ•˜๋Š” ํšŸ์ˆ˜ M์ด ์ฃผ์–ด์ง„๋‹ค. ๋‘˜์งธ ์ค„์—๋Š” N๊ฐœ์˜ ์ˆ˜๊ฐ€ ์ฃผ์–ด์ง„๋‹ค. ์ˆ˜๋Š” 1,000๋ณด๋‹ค ์ž‘๊ฑฐ๋‚˜ ๊ฐ™์€ ์ž์—ฐ์ˆ˜์ด๋‹ค. ์…‹์งธ ์ค„๋ถ€ํ„ฐ M๊ฐœ์˜ ์ค„์—๋Š” ํ•ฉ์„ ๊ตฌํ•ด์•ผ ํ•˜๋Š” ๊ตฌ๊ฐ„ i์™€ j

www.acmicpc.net

import sys

n, m = map(int, sys.stdin.readline().split())
data = list(map(int, sys.stdin.readline().split()))
d = [0] * (n + 1)

for i in range(1, n + 1):
    d[i] = d[i - 1] + data[i - 1]

for _ in range(m):
    a, b = map(int, sys.stdin.readline().split())
    print(d[b] - d[a - 1])

 

ํ•ด์„ค

์ฒ˜์Œ์—” ๊ทธ๋ƒฅ [a-1:b]๋กœ ํ•ด๊ฒฐํ•˜๋ คํ–ˆ๋Š”๋ฐ ์‹œ๊ฐ„์ดˆ๊ณผ๊ฐ€ ๊ฑธ๋ ธ๋‹ค..

๊ทธ๋ž˜์„œ dp ๋ฐฉ์‹์œผ๋กœ ํ’€์—ˆ๋‹ค.๐Ÿ˜Š