[Silver III] 물 주기 - 23351
성능 요약
메모리: 31256 KB, 시간: 80 ms
분류
그리디 알고리즘, 구현, 시뮬레이션
문제 설명
랑이 집사는 고양이들이 좋아한다는 캣닢을 직접 재배하려고 한다.
일직선으로 놓여진 N개의 화분에 캣닢이 하나씩 심어져 있다.
각 화분은 초기에 K만큼의 수분을 머금고 있고, 매일 아래와 같은 일이 순서대로 일어난다.
- 랑이 집사가 연속된 A개의 화분에 물을 준다. 이 때 물을 준 화분의 수분은 B만큼씩 증가한다.
- 모든 화분의 수분이 1씩 감소한다.
- 수분이 0이 된 화분에 있는 캣닢은 죽는다.
모든 캣닢이 살아 있는 기간이 최대한 길어지도록 물을 줄 때, 첫 캣닢이 죽는 날짜를 출력하는 프로그램을 작성하시오. 첫 날은 1일이다.
입력
첫째 줄에 자연수 N, K, A, B가 공백을 사이에 두고 주어진다. (2≤N≤1002≤≤100, 1≤K≤1001≤≤100, 1≤A×B<N1≤×<, A는 N의 약수)
출력
모든 캣닢이 살아 있는 기간이 최대한 길어지도록 물을 줄 때, 첫 캣닢이 죽는 날짜를 출력한다.
N, K, A, B = map(int, input().split())
pots = [K] * N
day = 0
while pots[0] != 0:
day += 1
for i in range(A):
pots[i] += B
for j in range(N):
pots[j] -= 1
pots.sort()
print(day)
'Algorithm > BAEKJOON' 카테고리의 다른 글
[백준 / Python 파이썬] 9440번 - 숫자 더하기 (0) | 2023.07.18 |
---|---|
[백준 / Python 파이썬] 27922번 - 현대모비스 입사 프로젝트 (0) | 2023.07.18 |
[백준 / Python 파이썬] 23082번 - 균형 삼진법 (0) | 2023.07.16 |
[백준 / Python 파이썬] 20310번 - 타노스 (0) | 2023.07.16 |
[백준 / Python 파이썬] 17451번 - 평행 우주 (0) | 2023.07.16 |