https://www.acmicpc.net/problem/22864
피로도가 M이 넘지않게하면서 많은 일을 하게 하는 문제
스터디에서 브르투포스 알고리즘 카테고리에 있던 문제였다. 하지만 아무리 봐도 그리디 알고리즘을 사용하는것 같아 M을 넘지 않는 선에서 계속 일을 시키도록 하여 간단하게 해결하였다.
import sys
a, b, c, m = map(int, sys.stdin.readline().split())
tired = 0
job = 0
for i in range(24):
if tired < 0:
tired = 0
if tired + a <= m:
tired += a
job += b
else:
tired -= c
if tired > m:
job = 0
print(job)