728x90
시간 제한 1초, 메모리 제한 512MB
# 조건
- 찬솔이는 블로그를 시작한 지 벌써 $N$일이 지났다.
- 요즘 바빠서 관리를 못 했다가 방문 기록을 봤더니 벌써 누적 방문 수가 6만을 넘었다.
- 찬솔이는 $X$일 동안 가장 많이 들어온 방문자 수와 그 기간들을 알고 싶다.
- 찬솔이를 대신해서 $X$일 동안 가장 많이 들어온 방문자 수와 기간이 몇 개 있는지 구해주자.
# 접근 방법
- 누적 합을 구해준 후 x일만큼의 방문자 수로 기록해준다.
- 만약 x가 2이고 [1, 2, 3, 4, 5]의 방문자 수가 있다면 누적 합 [1, 3, 6, 10, 15]를 구해주고 기간마다의 합을 구해준다.
- [0, 4, 5, 7, 9]를 구한 후 최댓 값과 카운트를 구해준다.
import sys
sys.stdin = open('input.txt')
input = sys.stdin.readline
N, X = map(int, input().split())
nums = list(map(int, input().split()))
sum_val = [0] * N
sum_val[0] = nums[0]
for i in range(1, N):
sum_val[i] = sum_val[i-1] + nums[i]
left = 0
can_val = []
for i in range(X-1, N):
if not left == 0:
can_val.append(sum_val[i] - sum_val[left-1])
else:
can_val.append(sum_val[i])
left += 1
result = max(can_val)
if result == 0:
print('SAD')
else:
print(result)
print(can_val.count(result))
728x90
'ALGORITHM > 정렬, 탐색,구현' 카테고리의 다른 글
[백준 30804번] 파이썬 - 과일 탕후루 (0) | 2024.07.28 |
---|---|
[백준 11663번] 파이썬 - 선분 위의 점 (0) | 2024.07.01 |
[백준 2115번] 파이썬 - 갤러리 (0) | 2024.05.29 |
[백준 16508번] 파이썬 - 전공책 (0) | 2024.05.12 |
[백준 1747번] 파이썬- 소수&팰린드롬 (0) | 2024.04.28 |