사용자 도구

사이트 도구


ps:problems:boj:24499

blobyum

ps
링크acmicpc.net/…
출처BOJ
문제 번호24499
문제명blobyum
레벨실버 4
분류

슬라이딩 윈도우

시간복잡도O(n)
인풋사이즈n<=10^5
사용한 언어Python
제출기록38548KB / 128ms
최고기록116ms
해결날짜2022/11/18

풀이

  • 슬라이딩 윈도우를 원형 배열에 적용한 형태.
  • 루프를 나눠서 처리할수도 있지만, 그냥 배열 두개를 이어붙여서 구현하는것이 가장 간단하다. 시간복잡도는 O(N)

코드

"""Solution code for "BOJ 24499. blobyum".

- Problem link: https://www.acmicpc.net/problem/24499
- Solution link: http://www.teferi.net/ps/problems/boj/24499

Tags: [Sliding window]
"""


def main():
    N, K = [int(x) for x in input().split()]  # pylint: disable=unused-variable
    A = [int(x) for x in input().split()]

    answer = sub_sum = sum(A[:K])
    for l, r in zip(A, A[K:] + A):
        sub_sum += r - l
        answer = max(answer, sub_sum)
    print(answer)


if __name__ == '__main__':
    main()

토론

댓글을 입력하세요:
L᠎ T P D B
 
ps/problems/boj/24499.txt · 마지막으로 수정됨: 2022/11/18 02:51 저자 teferi