PS
[๋ฐฑ์ค] 22252 ์ ๋ณด ์์ธ ํธ์ with Python
ํ์ค_It's
2022. 5. 18. 02:26
728x90
๋ฐ์ํ
๐ 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 ๋ก ์ ๋ณด์ ์ด๋ฆ์ ๊ด๋ฆฌํ๋ฉด ํธํ๊ฒ ๊ตฌํํ ์ ์๋ค.
๋ฐ์ํ