https://www.acmicpc.net/problem/21921
21921๋ฒ: ๋ธ๋ก๊ทธ
์ฒซ์งธ ์ค์ $X$์ผ ๋์ ๊ฐ์ฅ ๋ง์ด ๋ค์ด์จ ๋ฐฉ๋ฌธ์ ์๋ฅผ ์ถ๋ ฅํ๋ค. ๋ง์ฝ ์ต๋ ๋ฐฉ๋ฌธ์ ์๊ฐ 0๋ช ์ด๋ผ๋ฉด SAD๋ฅผ ์ถ๋ ฅํ๋ค. ๋ง์ฝ ์ต๋ ๋ฐฉ๋ฌธ์ ์๊ฐ 0๋ช ์ด ์๋ ๊ฒฝ์ฐ ๋์งธ ์ค์ ๊ธฐ๊ฐ์ด ๋ช ๊ฐ ์๋์ง ์ถ๋ ฅํ๋ค
www.acmicpc.net
ํฌ ํฌ์ธํฐ ์ด์ฉ
n, x = map(int, input().split())
visitors = list(map(int, input().split()))
i = j = 0
temp = result = 0
cnt = 0
for i in range(n):
# ๋ ํฌ์ธํฐ ์ด๋
while j-i < x and j < n:
temp += visitors[j]
j += 1
# x์ผ
if j-i == x:
if result < temp:
result = temp
cnt = 1
elif result == temp:
cnt += 1
# ์์ ํฌ์ธํฐ ๊ฐ ๋นผ์ฃผ๊ธฐ
temp -= visitors[i]
if result == 0:
print("SAD")
else:
print(result)
print(cnt)
๋ค ํ๊ณ ๋ค๋ฅธ ์ฌ๋์ ์ฝ๋๋ฅผ ์ฐธ๊ณ ํด๋ณด๋ค๊ฐ
์ฌ๋ผ์ด๋ฉ ์๋์ฐ ์๊ณ ๋ฆฌ์ฆ์ ์ ์ฉํด๋ณด์๋ค.
์ฌ๋ผ์ด๋ฉ ์๋์ฐ๋?
๊ณ ์ ์ฌ์ด์ฆ์ ์๋์ฐ๊ฐ ์ด๋ํ๋ฉด์ ์๋์ฐ ๋ด์ ์๋ ๋ฐ์ดํฐ๋ฅผ ์ด์ฉํด ๋ฌธ์ ๋ฅผ ํ์ดํ๋ ์๊ณ ๋ฆฌ์ฆ์ด๋ค.
n, x = map(int, input().split())
visitors = list(map(int, input().split()))
# ์ด๊ธฐ๊ฐ
result = temp = sum(visitors[:x])
cnt = 1
for i in range(x, n):
temp += visitors[i] - visitors[i-x] # ๋์ ํฉ ๊ณ์ฐ
if result < temp:
result = temp
cnt = 1
elif result == temp:
cnt += 1
if result == 0:
print("SAD")
else:
print(result)
print(cnt)
ํฌ ํฌ์ธํฐ ์ด์ฉํ์ ๋
์ฌ๋ผ์ด๋ฉ ์๋์ฐ ์ด์ฉํ์ ๋
'๐ค > ๋ฐฑ์ค' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
๋ฐฑ์ค 16918: ๋ด๋ฒ๋งจ (Python) (0) | 2023.05.02 |
---|---|
๋ฐฑ์ค 12933: ์ค๋ฆฌ (Python) (0) | 2023.04.14 |
๋ฐฑ์ค 1766: ๋ฌธ์ ์ง (Python) (0) | 2022.08.05 |
๋ฐฑ์ค 2252: ์ค ์ธ์ฐ๊ธฐ (Python) (0) | 2022.08.05 |
๋ฐฑ์ค 2887: ํ์ฑ ํฐ๋ (Python) (0) | 2022.08.04 |