[백준/c++] 22864번: 피로도

somyeong·2022년 6월 9일
0

백준

목록 보기
43/45

문제 링크 - https://www.acmicpc.net/problem/22864

🌱 문제


🌱 풀이

하루는 24시간이므로 24시간 반복하면서 일을 할수있는지 또는 쉬어야 하는지를 체크한다.
다음 1시간동안 일을해도 피로도가 m이 안넘으면 일을하고, 넘으면 쉰다
이 방식을 반복화여 최종 일한 양을 계산한다.


🌱 코드

//22864. 피로도
/* 
풀이
하루는 24시간이므로 24시간 반복하면서 일을 할수있는지 또는 쉬어야 하는지를 체크한다.
다음 1시간동안 일을해도 피로도가 m이 안넘으면 일을하고, 넘으면 쉰다
이 방식을 반복화여 최종 일한 양을 계산한다.

*/
#include <iostream>
using namespace std;

int a,b,c,m;// 쌓이는 피로도 양, 일처리 양, 피로도 회복 양, 최대 피로도
int answer; //한 일
int pirodo; //피로도

int main(){
    cin>>a>>b>>c>>m;
    int n=24;
    while(n--){


        if(pirodo+a<=m){ 
            answer+=b;
            pirodo+=a;
        }
        else{
            pirodo-=c;
            if(pirodo<0) //피로도가 음수면 0으로 갱신
                pirodo=0;
        }
    }

    cout<<answer<<"\n";

}
profile
공부한 내용 잊어버리지 않게 기록하는 공간!

0개의 댓글