728x90
반응형
문제
하루에 한 시간 단위로 일을 하거나 일을 쉬어도 된다. 하루에 한 시간 일하면 피로도는 A 만큼 쌓이고 일은 B 만큼 처리할 수 있다.
만약에 한 시간을 쉰다면 피로도는 C 만큼 줄어든다. 단, 피로도가 음수로 내려가면 0으로 바뀐다. 당연히 일을 하지 않고 쉬었기 때문에 처리한 일은 없다.
피로도를 최대한 M 을 넘지 않게 일을 하려고 한다. M 를 넘기면 일하는데 번아웃이 와서 이미 했던 일들도 다 던져버리고 일을 그만두게 된다.
번아웃이 되지 않도록 일을 할때 하루에 최대 얼마나 일을 할 수 있는지 구해보자. 하루는 24시간이다.
입력
첫 번째 줄에 네 정수 A , B , C , M 이 공백으로 구분되어 주어진다.
맨 처음 피로도는 0이다.
출력
하루에 번 아웃이 되지 않도록 일을 할 때 최대 얼마나 많은 일을 할 수 있는지 출력한다.
예제 입력 1 복사
5 3 2 10
예제 출력 1 복사
24
예제 입력 2 복사
10 5 1 10
예제 출력 2 복사
15
✔️ Code
a,b,c,m = map(int, input().split())
work = 0
hour = 24
x = 0
while hour:
hour-=1
if x <= m and x+a <= m:
x+=a
work+=b
else:
x-=c
if x<0:
x=0
print(work)
728x90
반응형
'백준 > 정렬, 탐색' 카테고리의 다른 글
[백준] #18312 시각 (python) (0) | 2022.07.12 |
---|---|
[백준] #2798 블랙잭 (python) (0) | 2022.07.11 |
[백준] #1920 수 찾기 (python) (0) | 2022.06.29 |
[백준] #11931 수 정렬하기 4 (python) (0) | 2022.06.29 |
[백준] #1018 체스판 다시 칠하기 (python) (0) | 2022.06.22 |
댓글