일의 피로도가 쌓여서 임계치인 m 부근에 도달할 때 주의해야 한다. 한 번만 더 일을 했다가 m을 초과할 수 있기 때문에
그 때는 일을 하지 않고 쉬어야 한다. while 문을 이용하여 풀려고 했지만 잘 작동하지 아니하여 for문으로 풀게 되었다.
import sys
input = sys.stdin.readline
a,b,c,m=map(int, input().split())
timecnt =0
work =0
tired= 0
if a > m :
print(0)
exit()
for i in range(1,25) :
if tired <= m-a :
work += b
tired += a
# print("i can work ")
elif m-a < tired <= m :
tired-= c
if tired < 0 :
tired =0
# print("i have to rest")
print(work)
'알고리즘 문제풀이' 카테고리의 다른 글
Send me the money(백준 15786) (0) | 2023.09.14 |
---|---|
ZOAC2 (백준18238) (0) | 2023.09.13 |
첨탑 밀어서 부수기(백준 28014) (0) | 2023.09.12 |
가장 많은 글자(백준 1371) (1) | 2023.09.09 |
등산 (16681 백준) (0) | 2023.09.07 |