'''
# 1. 일직선으로 N개 화분, 초기 K만큼의 수분
# 3 3 3 3 3 3
# 연속된 A개의 화분에 물 줄 때 수분 B만큼씩 증가
# 연속된 2개의 화분이 수분 2씩 증가
# 5 5 3 3 3 3
# 모든 화분 수분 1씩 감소
# 4 4 2 2 2 2
# 수분이 0된 화분 죽고, 최대한 오래 사는 게 목표
# 매일 다른 연속된 화분에 물 줘서 최대한 살아남게 해야 함
'''
'''
첫째 날 : 5 5 3 3 3 3 -> 4 4 2 2 2 2
둘째 날 : 4 4 4 4 2 2 -> 3 3 3 3 1 1
셋째 날 : 3 3 3 3 3 3 -> 2 2 2 2 2 2
넷째 날 : 4 4 2 2 2 2 -> 3 3 1 1 1 1
다섯째 날 : 3 3 3 3 1 1 -> 2 2 2 2 0 0 // break
# li = [i for i in arr[::a]]
첫째 날 : 5 3 3 -> 4 2 2
둘째 날 : 4 4 2 -> 3 3 1
셋째 날 : 3 3 3 -> 2 2 2
넷째 날 : 4 2 2 -> 3 1 1
다섯째 날 : 3 3 1 -> 2 2 0
'''
import sys
n, k, a, b = map(int, sys.stdin.readline().split())
arr = [k] * n
# 리스트 원소 줄여주기 위에 설명 적어 둠
# 연속해서 위치한 화분에 물을 주기 때문에 한 세트 당 하나로 줄이기
# ex) 5 5 3 3 2 2 -> 5 3 2
li = [i for i in arr[::a]]
day = 0
while 0 not in li : # li 리스트 안에 0이 있으면 멈춤
for i in range(len(li)) :
li[i] -= 1 # 모든 꽃 매일 1씩 먼저 줄어들고
li[li.index(min(li))] += b
# 최소 값을 가진 꽃에 수분 b 주기
day += 1 # 날짜 추가
print(day)
'''
# li[li.index(min(li))] += b 대신 아래 for문 껴줘도 됨
min_tmp = 99999999
min_index = 0
for i in range(len(li)):
if li[i]<min_tmp:
min_tmp = li[i]
min_index = i
'''
'python3 > 백준문제풀이' 카테고리의 다른 글
[백준/python3] 10250_ACM 호텔 (0) | 2022.01.16 |
---|---|
[백준/python3] 2839_설탕 배달(DP, Greedy) (0) | 2022.01.16 |
[백준/python3] 2798_블랙잭(brute force) (0) | 2022.01.16 |
[백준/python3] 2775_부녀회장이 될테야 (0) | 2022.01.16 |
[백준/python3] 4673_셀프 넘버(brute force) (0) | 2022.01.15 |