๊ฐ๋ฐ/๐ค ์๊ณ ๋ฆฌ์ฆ
baekjoon. 2559 ์์ด [Silver III][python]
ttoance
2023. 8. 20. 07:44
๋ฐ๋ก 74% https://www.acmicpc.net/board/view/75765
5 2
100 -1 1 -100 -100
# ๋ต : 99
๋ฌธ์ ๋งํฌ :
https://www.acmicpc.net/problem/2559
ํ์ด
- K๋ฒ ์ ๊น์ง๋, ์ฐ์๋ ๋ฐฐ์ด์ ํฉ์ dp[i]์ ์ ์ฅํ๊ณ ,
- K+1 ๋ฒ ๋ถํฐ๋, dp[i-1]์์ ๋งจ ์ฒ์ ๋ค์ด์จ degrees[i - K]๋ฅผ ๋นผ๊ณ ์ง๊ธ degrees[i]๋ฅผ ๋ํ๋ค.
# ๋ ๊ฐ์ ์ ์ N๊ณผ K
# N : ์จ๋ ์ธก์ ํ ์ ์ฒด ๋ ์ง์ ์
# K : ์ฐ์์ ์ธ ๋ ์ง์ ์
N, K = map(int, input().split())
degrees = list(map(int, input().split()))
dp = [None for _ in range(N)]
dp[0] = degrees[0]
for i in range(1, N):
if i < K:
dp[i] = dp[i - 1] + degrees[i]
else:
dp[i] = dp[i - 1] - degrees[i - K] + degrees[i]
result = max(dp[K-1:])
print(result)
๋ฐ์ํ