본문 바로가기

알고리즘 문제풀이

피로도(백준 22864)

 일의 피로도가 쌓여서 임계치인 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