-
[๋ฐฑ์ค] 22252 ์ ๋ณด ์์ธ ํธ์ with PythonPS 2022. 5. 18. 02:26728x90๋ฐ์ํ
๐ BOJ 22252 ์ ๋ณด ์์ธ ํธ์
๐ก ์กฐ๊ฑด
- ๊ด์ฐฐํ๋ฉด์ ์ป์ ์ ๋ณด๋ ์ด $Q$ ๊ฐ์ด๋ค. ๊ฐ ์ ๋ณด๋ ๋ค์์ 2๊ฐ์ง ์ค ํ๋์ด๋ค.
- 1 Name k C_1, C_2, ..., C_k : ์ด๋ฆ์ด [Name]์ธ ๊ณ ๋ฆด๋ผ๊ฐ k ๊ฐ์ ์ ๋ณด๋ฅผ ์ป์์ผ๋ฉฐ, ๊ฐ ๊ฐ์น๋ C_1 ๋ถํฐ C_k ์ด๋ค.
- 2 Name b : ํธ์์ด๊ฐ ์ด๋ฆ์ด [Name]์ธ ๊ณ ๋ฆด๋ผ์๊ฒ b ๊ฐ์ ์ ๋ณด๋ฅผ ๊ตฌ๋งคํ๋ค.
์ด๋ ๊ณ ๋ฆด๋ผ๊ฐ ๊ฐ์ง ์ ๋ณด๋ค ์ค ๊ฐ์ฅ ๋น์ผ b ๊ฐ๋ฅผ ๊ตฌ๋งคํ๋ฉฐ, ๊ณ ๋ฆด๋ผ๊ฐ ๊ฐ์ง ์ ๋ณด๊ฐ b๊ฐ ์ดํ์ด๋ฉด ๊ฐ์ง ๋ชจ๋ ์ ๋ณด๋ฅผ ๊ตฌ๋งคํ๋ค.
- ๊ณ ๋ฆด๋ผ๋ค์ด ์ ๋ณด๋ฅผ ์ป๋ ์ฌ๊ฑด๊ณผ ํธ์์ด๊ฐ ๊ฑฐ๋ํ๋ ์ ๋ณด๊ฐ ์๊ฐ์์ผ๋ก ์ฃผ์ด์ง๋ค. ์ฒซ ๋ฒ์งธ ์ค์๋ ์ฟผ๋ฆฌ์ ๊ฐ์ Q๊ฐ ์ฃผ์ด์ง๋ค.
- Q ๊ฐ์ ์ค์ ๊ฑธ์ณ์ ๊ฐ ์ค์ ์ฟผ๋ฆฌ๊ฐ ์ฃผ์ด์ง๋ค.
- ์ฟผ๋ฆฌ๋ 1์ด๋ 2๋ก ์์ํ๋ค.
1๋ก ์์ํ๋ ๊ฒฝ์ฐ์๋ ์ ๋ณด๋ฅผ ์ป์ ์ ๋ณด ๊ณ ๋ฆด๋ผ์ ์ด๋ฆ๊ณผ k๊ฐ ์ฃผ์ด์ง๋ฉฐ ์ด์ด์
k๊ฐ์ ์ ๋ณด ๊ฐ์น C_1, ..., C_k๊ฐ ์์ฐ์๋ก ์ฃผ์ด์ง๋ค.
- ๋ชจ๋ C_i๋ 1 ์ด์ 100,000 ์ดํ์ด๋ค.
2๋ก ์์ํ๋ ๊ฒฝ์ฐ์๋ ํธ์์ด๊ฐ ๊ฑฐ๋ํ๋ ค๋ ์ ๋ณด ๊ณ ๋ฆด๋ผ์ ์ด๋ฆ๊ณผ ๊ตฌ๋งคํ๋ ค๋ ์ ๋ณด์ ๊ฐ์ b๊ฐ ์ฃผ์ด์ง๋ค.
์ ํ์ฌํญ์ ์๋์ ๊ฐ๋ค.
- 1 โค Q โค 100,000, Q ๋ ์์ฐ์
- ๋ชจ๋ Name์ ์ํ๋ฒณ ์๋ฌธ์ ํน์ ๋๋ฌธ์๋ก ์ด๋ฃจ์ด์ ธ ์๊ณ ๊ณต๋ฐฑ์ด ์์ผ๋ฉฐ ๊ธธ์ด๋ 1 ์ด์ 15 ์ดํ์ด๋ค.
- 1 โค k โค 100,000, k ๋ ์์ฐ์
- 1 โค C โค 100,000, C ๋ ์์ฐ์
- 1 โค b โค 100,000, b ๋ ์์ฐ์
- ๋ชจ๋ ์ฟผ๋ฆฌ์ ๋ํ k ์ ํฉ์ 1,000,000 ์ ๋์ง ์๋๋ค.
์๋ฃ๊ตฌ์กฐ, ์ฐ์ ์์ํ, heapq ์ ํ์ ๋ฌธ์
๐ฅ ์์ค ์ฝ๋
from sys import stdin import heapq dictionary, res = {}, 0 for _ in range(int(stdin.readline())): data = list(stdin.readline().split()) info = data[:3] if info[0] == '1': try: for i in range(int(info[2])): heapq.heappush(dictionary[info[1]], (-int(data[3 + i]), int(data[3 + i]))) except: dictionary[info[1]] = [] for i in range(int(info[2])): heapq.heappush(dictionary[info[1]], (-int(data[3 + i]), int(data[3 + i]))) else: try: for i in range(int(info[2])): res += heapq.heappop(dictionary[info[1]])[1] except: pass print(res)
๐ ์์ ๋ฐ ์คํ๊ฒฐ๊ณผ
์์
7 1 Cpp 5 10 4 2 8 4 1 Java 2 8 2 2 Cpp 2 1 Cpp 2 10 3 2 Cpp 3 2 Java 1 2 Python 10
์คํ๊ฒฐ๊ณผ
44
โจ๏ธ ๋ฌธ์ ํ์ด
์ฐ์ ์์ ํ์ ์ฑ์ง์ ์ด์ฉํด ๊ฐ ์ ๋ณด์ ๊ฐ์น๋ฅผ ์ฐ์ ์์๋ก ์ ํด ๋ฐ์ดํฐ๋ฅผ ๊ด๋ฆฌํ๋ฉฐ ๊ตฌํํ๋ ๋ฌธ์ ์ด๋ค.
dictionary ๋ก ์ ๋ณด์ ์ด๋ฆ์ ๊ด๋ฆฌํ๋ฉด ํธํ๊ฒ ๊ตฌํํ ์ ์๋ค.
๋ฐ์ํ'PS' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[๋ฐฑ์ค] 18291 ๋น์๋จ์ ์ง๊ฒ๋ค๋ฆฌ ๊ฑด๋๊ธฐ with Python (0) 2022.05.20 [๋ฐฑ์ค] 17204 ์ฃฝ์์ ๊ฒ์ with Python (0) 2022.05.19 [๋ฐฑ์ค] 20444 ์์ข ์ด์ ๊ฐ์ with Python (0) 2022.05.18 [๋ฐฑ์ค] 20440 ๐ต๋๊ฐ ์ซ์ด ์ซ์ด ๋๋ฌด ์ซ์ด ์ซ์ด ์ค์ง ๋ง ๋ด๊ฒ ์ฐ์ฉ๋์ง๋ง๐ต - 1 with Python (0) 2022.05.17 [๋ฐฑ์ค] 20436 ZOAC 3 with Python (0) 2022.05.17 - ๊ด์ฐฐํ๋ฉด์ ์ป์ ์ ๋ณด๋ ์ด $Q$ ๊ฐ์ด๋ค. ๊ฐ ์ ๋ณด๋ ๋ค์์ 2๊ฐ์ง ์ค ํ๋์ด๋ค.