โ 21921 ๋ธ๋ก๊ทธ โ
import sys
input=sys.stdin.readline
N,X=map(int,input().split())
visitors=list(map(int,input().split()))
ans,freq,cursum,start=0,0,0,0
for i in range(N):
if i < X:
cursum+=visitors[i]
if i == (X-1):
ans = cursum
freq=1
else:
cursum -= visitors[start]
cursum += visitors[i]
if ans == cursum:
freq+=1
elif cursum > ans:
ans = cursum
freq=1
start+=1
if ans == 0:
print('SAD')
else:
print(ans,freq,sep='\n')
๐ ์ ํ์ ์ธ ์ฌ๋ผ์ด๋ฉ ์๋์ฐ ๋ฌธ์ . ๊ณ ์ ๋ X์ผ ๋์์ ๋ฐฉ๋ฌธ์ ์ ์ต๋๊ฐ ๊ตฌํ๋ ๋ฌธ์ . ์ฌ๊ธฐ์ ์ถ๊ฐ๋ก ์ต๋๊ฐ ๋ฐฉ๋ฌธ์ ์ frequency๊น์ง ๊ฐ์ด ๊ตฌํ๋ ๋ฌธ์ . ans == cursum ๋๋ cursum > ans์ผ ๋ ๋ฐ๋ก ๋๋์ด์ freq ๋ณ์ ์กฐ์ ํ๋ฉด ๋๋ค.
โ 12847 ๊ฟ ์๋ฅด๋ฐ์ดํธ โ
import sys
input=sys.stdin.readline
n,m=map(int,input().split())
T=list(map(int,input().split()))
ans,cursum,start=0,0,0
for i in range(n):
if i < m:
cursum+=T[i]
if i == (m-1):
ans = cursum
else:
cursum-=T[start]
cursum+=T[i]
ans = max(ans,cursum)
start+=1
print(ans)
๐ ์ฐ์ ๊ฐ์ m์ธ ์ฌ๋ผ์ด๋ ์ค ๊ฐ๋ฅ ์ต๋๊ฐ ๊ตฌํ๊ธฐ ๋ฌธ์
'BOJ > ๐ฅ' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
โ Implementation&Simulation Intermediate II - 3 Solvedโ (0) | 2024.08.29 |
---|---|
โ Stack & Queue & Deque Intermediate II - 3 Solvedโ (0) | 2024.05.26 |
โ DP Intermediate II - 2 Solvedโ (0) | 2024.05.26 |
โ BFS&DFS Upper-Intermediate I - 16 Solvedโ (1) | 2024.05.12 |
โ Two-Pointers Upper-Intermediate I - 6 Solvedโ (1) | 2024.02.11 |
๋๊ธ