푸는 법
- n : 전체 날짜 수, k : 연속적인 날짜
- 온도가 적힌 수열을 받는다. ⇒ celcius
- 누적합이 들어갈 수열 (cumsum)을 생성
- cumsum의 첫 번째에는 celcius의 0번째 ~ k-1번째까지 수의 합이 들어가야 한다.
- cumsum의 두 번째에는 celcius의 1번째 ~ k번째 까지의 수의 합 cumsum의 세 번째에는 celcius의 2번째 ~ k+1번째 까지의 합….
- cumsum의 i 번째 = (cumsum의 i-1번째) - (celcius의 i-1번째) + (celcius의 i+k-1번째)
- cumsum의 최댓값 = 정답
코드
python
"""수열"""
n, k = map(int, input().split())
celcius = list(map(int, input().split()))
cumsum = [0] * (n-k+1)
for i in range(k):
cumsum[0] += celcius[i]
for i in range(1, n-k+1):
old = celcius[i-1]
new = celcius[i+k-1]
cumsum[i] = cumsum[i-1] + new - old
print(max(cumsum))