짱이 될거야
백준 22864: 피로도 Python 본문
https://www.acmicpc.net/problem/22864
22864번: 피로도
첫 번째 줄에 네 정수 $A$, $B$, $C$, $M$이 공백으로 구분되어 주어진다. 맨 처음 피로도는 0이다.
www.acmicpc.net
# A: 피로도/시간, B: 일/시간, C: -피로도/시간, M: 최대 피로도
A, B, C, M = map(int, input().split())
piro = 0 # 피로도
work = 0 # 하루 최대 할 수 있는 일의 양
hr = 0 # 일한 시간
# 하루는 24시간
while hr < 24:
# 다음 1시간 동안 일을 시킨다고 했을 때 피로도를 초과하는 경우
if piro + A > M:
# 이미 피로도가 초과한 상태이면 번아웃
if piro > M:
work = 0
break
# 아직까지 초과하지 않았지만 1시간 일 시키면 초과하는 경우
# 일하지 않고 쉬기
else:
piro = piro - C
# 피로도가 0보다 작으면 0으로 간주
if piro < 0:
piro = 0
# 다음 1시간 동안 일을 시킨다고 했을 때 피로도를 초과하지 않는 경우
else:
# 일을 시키고 피로도 누적
piro += A
work += B
# 일을 하던 쉬던 시간은 추가됨
hr += 1
print(work)
'알고리즘' 카테고리의 다른 글
백준 11650: 좌표 정렬하기 Python (0) | 2022.09.16 |
---|---|
백준 1018: 체스판 다시 칠하기 Python (Brute Force) (0) | 2022.09.15 |
백준 1749: 점수따먹기 Python (0) | 2022.09.07 |
Prefix Sum(구간합), 누적합 (0) | 2022.09.07 |
백준 25083번: 새싹 Python (0) | 2022.07.20 |
Comments