Programming/백준
[실버 3] 백준 23351 - 물 주기 (파이썬)
pental
2025. 5. 15. 17:39
https://www.acmicpc.net/problem/23351
풀이
- 총 N개의 화분이 있다.
- 하루에 A개만큼의 화분에 물을 줄 수 있다.
- 물을 주면, 해당 화분의 수분량이 B만큼 회복된다.
- 수분량이 0이 되면 화분이 죽는다.
- 처음 모든 화분은 수분량 K로 시작한다.
- 모든 화분을 죽이지 않고 버틸 수 있는 최대 일수를 구하라.
코드
# 백준 23351 - 물 주기
# 분류 : 우선순위 큐
from queue import PriorityQueue
N, K, A, B = map(int, input().split())
N //= A
pq = PriorityQueue()
for _ in range(N) :
pq.put(K)
count = 0
zero = 0
while True :
x = pq.get()
if x == zero :
break
x += B
zero += 1
pq.put(x)
count += 1
print(count)