IT/coding study

[acmicpc] 21921. 블로그 (python)

seyeonHello 2022. 10. 4. 23:29

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