반응형
[ 문제 ]
하루에 한 시간 단위로 일을 하거나 일을 쉬어도 된다. 하루에 한 시간 일하면 피로도는 만큼 쌓이고 일은 만큼 처리할 수 있다.
만약에 한 시간을 쉰다면 피로도는 만큼 줄어든다. 단, 피로도가 음수로 내려가면 으로 바뀐다. 당연히 일을 하지 않고 쉬었기 때문에 처리한 일은 없다.
피로도를 최대한 을 넘지 않게 일을 하려고 한다. 을 넘기면 일하는데 번아웃이 와서 이미 했던 일들도 다 던져버리고 일을 그만두게 된다.
번아웃이 되지 않도록 일을 할때 하루에 최대 얼마나 일을 할 수 있는지 구해보자. 하루는 24시간이다.
[ 코드 ]
StreamReader sr = new StreamReader(new BufferedStream(Console.OpenStandardInput()));
StreamWriter sw = new StreamWriter(new BufferedStream(Console.OpenStandardOutput()));
string[] Q = sr.ReadLine().Split();
int a = int.Parse(Q[0]);
int b = int.Parse(Q[1]);
int c = int.Parse(Q[2]);
int m = int.Parse(Q[3]);
int Acount = 0; // 피로도 수
int Bcount = 0; // 일을 한 수
for(int i = 0; i < 24; i++)
{
if(m >= (a + Acount))
{
Bcount += b;
Acount += a;
}
else
{
Acount += (-c);
if(Acount < 0)
{
Acount = 0;
}
}
}
sw.Write(Bcount);
sw.Close();
sr.Close();
[ 실행화면 ]
문제링크: https://www.acmicpc.net/problem/22864
반응형
'Language > C#' 카테고리의 다른 글
[C#] 백준 18238번 ZOAC 2 (0) | 2024.03.11 |
---|---|
[C#] 백준 28062번 준석이의 사탕 사기 (0) | 2024.03.11 |
[C#] 백준 11034번 캥거루 세마리2 (0) | 2024.03.11 |
[C#] 백준 2810번 컵홀더 (0) | 2024.03.11 |
[C#] 백준 4796번 캠핑 (0) | 2024.03.10 |