n^2으로 하면 터져서 누적합으로 구현
import sys
input=sys.stdin.readline
N,X=map(int,input().split())
visit=list(map(int,input().split()))
if sum(visit)==0:
print('SAD')
else:
dp=[0]*N
dp[0]=visit[0]
for i in range(1,N):
dp[i]=dp[i-1]+visit[i]
if i>=X:
dp[i]-=visit[i-X]
maxNum=max(dp)
print(maxNum)
print(dp.count(maxNum))
https://www.acmicpc.net/problem/21921
21921번: 블로그
첫째 줄에 $X$일 동안 가장 많이 들어온 방문자 수를 출력한다. 만약 최대 방문자 수가 0명이라면 SAD를 출력한다. 만약 최대 방문자 수가 0명이 아닌 경우 둘째 줄에 기간이 몇 개 있는지 출력한다
www.acmicpc.net
'IT > coding study' 카테고리의 다른 글
[acmicpc] 10816. 숫자 카드 2(python) (0) | 2022.11.11 |
---|---|
[acmicpc] 2206. 벽 부수고 이동하기(python) (0) | 2022.10.10 |
[acmicpc] 17822. 원판 돌리기 (python) (1) | 2022.09.30 |
[acmicpc] 20437. 문자열 게임 2 (python) (0) | 2022.09.22 |
[acmicpc] 1806. 부분합(python) (2) | 2022.09.21 |