-
[๋ฐฑ์ค] 10025 ๊ฒ์ผ๋ฅธ ๋ฐฑ๊ณฐ with PythonPS 2023. 4. 10. 14:07728x90๋ฐ์ํ
๐ BOJ 10025 ๊ฒ์ผ๋ฅธ ๋ฐฑ๊ณฐ
๐ก ์กฐ๊ฑด
์จ๋ฒํธ๊ฐ ๊ฐ์ฅ ์ ์ ๊ฑฐ๋ฆฌ๋ง ์์ง์ด๊ณ ๋ ์ต๋ํ ๋ง์ ์ผ์์ผ๋ก ๋์๋ฅผ ์ํ ์ ์๋๋ก ๋์์ฃผ์.
์ฐ๋ฆฌ ์์ 1์ฐจ์ ๋ฐฐ์ด๋ก ์๊ฐํ๋ฉฐ, ์ด N๊ฐ์ ์ผ์ ์๋์ด๋ค์ด xi์ขํ๋ง๋ค ๋์ฌ ์๊ณ ๊ฐ ์๋์ด ์์๋ gi์ฉ์ ์ผ์์ด ๋ค์ด ์๋ค.
(1 โค N โค 100000)
(0 โค xi โค 1,000,000)
(1 โค gi โค 10,000)์จ๋ฒํธ๊ฐ ์๋ฆฌ๋ฅผ ์ก์ผ๋ฉด ๊ทธ๋ก๋ถํฐ ์ข์ฐ๋ก K(1 โค K โค 2,000,000) ๋งํผ ๋จ์ด์ง ์๋์ด๊น์ง ๋ฟ์ ์ ์๋ค.
์จ๋ฒํธ๋ ์๋์ด๊ฐ ๋์ฌ ์๋ ์๋ฆฌ์๋ ์๋ฆฌ์ก์ ์ ์๋ค.
๋ชจ๋ ์ผ์ ์๋์ด์ ์์น๋ ๋ค๋ฅด๋ค.์จ๋ฒํธ๊ฐ ์ต์ ์ ์๋ฆฌ๋ฅผ ๊ณจ๋์ ๋ ์ผ์์ ํฉ์ ๊ตฌํ๋ ๋ฌธ์ . ์ฆ, ์ผ์๋ค์ ํฉ์ ์ต๋๊ฐ์ ๊ตฌํด์ผ ํ๋ค.
์ฒซ ์ค์ ์ ์ N๊ณผ K๊ฐ ๋ค์ด์จ๋ค.
๋์งธ ์ค๋ถํฐ N์งธ ์ค๊น์ง, ๊ณต๋ฐฑ์ ์ฌ์ด์ ๋๊ณ ๊ฐ ์๋์ด์ ์ผ์์ ์์ ๋ํ๋ด๋ gi์ ์๋์ด์ ์ขํ๋ฅผ ๋ํ๋ด๋ xi๊ฐ ์ฃผ์ด์ง๋ค.๋์ ํฉ, ์ฌ๋ผ์ด๋ฉ ์๋์ฐ ์ ํ์ ๋ฌธ์
๐ ์์ ๋ฐ ์คํ๊ฒฐ๊ณผ
์์ 1
4 3 4 7 10 15 2 2 5 1
์คํ๊ฒฐ๊ณผ 1
11
โจ๏ธ ๋ฌธ์ ํ์ด
์ด ๋ฌธ์ ๋ ๋ ๊ฐ์ง ํ์ด๋ฅผ ํ ์ ์๋๋ฐ, ๋๋ ์ฌ๋ผ์ด๋ฉ ์๋์ฐ๋ก ํ์ดํ๋ค.
๋์ ํฉ ํ์ด๋ ์๋์ ๋งํฌ๋ฅผ ์ฐธ๊ณ ํ๋ฉด ์ข์ ๊ฒ ๊ฐ๋ค.
10025 ๋์ ํฉ ํ์ด์ฌ๋ผ์ด๋ฉ ์๋์ฐ๋ก ๋ฌธ์ ๋ฅผ ํ์ดํ๊ธฐ ์ํด์ ์ผ์์๋์ด๋ค์ด ๋์ฌ์ง ๋ฐฐ์ด์ ๋ง๋ค์ด์ค๋ค.
1,000,000 ๊ฐ์ ๋ฐฐ์ด์ ๋ง๋ค์ด๋๊ณ , N๊ฐ์ ์ผ์์๋์ด๋ฅผ X์ ์์น์ G๋ฅผ ์ ์ฅํ๋ค.(3)๋ฒ์ ์งํํ๋ฉด์, ๋ถํ์ํ ์ฐ์ฐ์ ์ค์ด๊ธฐ ์ํด ์๋์ด๊ฐ ๋์ฌ์ง ๋งจ ๋์ค ์ขํ๋ฅผ ๊ตฌํ๋ค.
ํ์ฌ ์์น๋ก๋ถํฐ ์ข์ฐ๋ก K ๋งํผ ๋ฟ์ ์ ์๊ธฐ ๋๋ฌธ์ 0 ์ขํ๋ฅผ ๊ธฐ์ค์ผ๋ก ์ ๋ค์ ์์น๋ฅผ ๊ณ์ฐํ๋ฉด ์๋์ ๊ฐ๋ค.
p = k * 2 + 1
์ผ์๋ค์ ์ต๋๊ฐ์ ์ ์ฅํ res ์ ์ด๊ธฐ๊ฐ์ 0~p ๊น์ง์ ๊ฐ์ด๊ณ , (3)์์ ๊ตฌํ ๋งจ ๋์ค ์ขํ๊น์ง ์ํํ๋ฉด์ res์ ๊ฐ์
๊ฐฑ์ ํด์ฃผ๋ฉด ๋๋ค.
๐ฅ ์์ค ์ฝ๋
from sys import stdin n, k = map(int, stdin.readline().split()) length, ans = 0, 0 arr = [0 for _ in range(10000001)] for _ in range(n): g, x = map(int, stdin.readline().split()) length = max(length, x) arr[x] = g p = k * 2 + 1 res = sum(arr[:p]) ans = res for i in range(p, length + 1): # ์ฌ๊ธฐ p ๊ฐ ์๋ฃ๊ณ ์์ ๋ฃ์ ๋ ๊ดํธ ์ ๋ฃ์ด์ ํ๋ ธ์ res += (arr[i] - arr[i - p]) ans = max(ans, res) print(ans)
๋ฐ์ํ'PS' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[๋ฐฑ์ค] 24480 ์๊ณ ๋ฆฌ์ฆ ์์ - ๊น์ด ์ฐ์ ํ์ 2 with Python (0) 2023.04.10 [๋ฐฑ์ค] 10707 ์๋์๊ธ with Python (0) 2023.04.10 [๋ฐฑ์ค] 15792 A/B - 2 with Python (0) 2023.04.10 [๋ฐฑ์ค] 2455 ์ง๋ฅํ ๊ธฐ์ฐจ with Python (0) 2023.04.10 [๋ฐฑ์ค] 1072 ๊ฒ์ with Python (0) 2023.04.07