๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
์•Œ๊ณ ๋ฆฌ์ฆ˜ ๋ฌธ์ œ ํ’€์ด/๊ตฌํ˜„

[๋ฐฑ์ค€]21921๋ฒˆ: ๋ธ”๋กœ๊ทธ

by syLim___ 2023. 8. 11.
728x90

https://www.acmicpc.net/problem/21921

 

21921๋ฒˆ: ๋ธ”๋กœ๊ทธ

์ฒซ์งธ ์ค„์— $X$์ผ ๋™์•ˆ ๊ฐ€์žฅ ๋งŽ์ด ๋“ค์–ด์˜จ ๋ฐฉ๋ฌธ์ž ์ˆ˜๋ฅผ ์ถœ๋ ฅํ•œ๋‹ค. ๋งŒ์•ฝ ์ตœ๋Œ€ ๋ฐฉ๋ฌธ์ž ์ˆ˜๊ฐ€ 0๋ช…์ด๋ผ๋ฉด SAD๋ฅผ ์ถœ๋ ฅํ•œ๋‹ค. ๋งŒ์•ฝ ์ตœ๋Œ€ ๋ฐฉ๋ฌธ์ž ์ˆ˜๊ฐ€ 0๋ช…์ด ์•„๋‹Œ ๊ฒฝ์šฐ ๋‘˜์งธ ์ค„์— ๊ธฐ๊ฐ„์ด ๋ช‡ ๊ฐœ ์žˆ๋Š”์ง€ ์ถœ๋ ฅํ•œ๋‹ค

www.acmicpc.net


python

import sys
input = sys.stdin.readline

n, x = map(int, input().split())
visitors = list(map(int, input().split()))

cur = sum(visitors[:x]) # ํ˜„์žฌ ๊ธฐ๊ฐ„์—์„œ์˜ ๋ฐฉ๋ฌธ์ž ์ˆ˜ ํ•ฉ ์ €์žฅ
max_visitors = cur # ์ตœ๋Œ€ ๋ฐฉ๋ฌธ์ž์ˆ˜
days = 1 # ๊ธฐ๊ฐ„์ด ๋ช‡๊ฐœ์ธ์ง€

for i in range(1,n-x+1):
  
  cur -= visitors[i-1]
  cur += visitors[i+x-1]
  if cur > max_visitors:
    max_visitors = cur
    days = 1
  elif cur == max_visitors:
    days += 1

if max_visitors == 0:
  print("SAD")
else:
  print(max_visitors)
  print(days)
728x90