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()
ps/problems/boj/24499.txt · 마지막으로 수정됨: 2022/11/18 02:51 저자 teferi
토론