반응형

 

<코드>

#include<iostream>
#include<algorithm>
using namespace std;

int N, m, M, T, R;
int minute, pulse;

int main()
{
	ios_base::sync_with_stdio(0);
	cin.tie(0);

	cin >> N >> m >> M >> T >> R;

	if (M - m < T) // 초기상태에서 운동이 불가할 경우
	{
		cout << -1;
		return 0;
	}

	pulse = m;
	while (1)
	{
		if (pulse + T <= M)
		{
			pulse += T;
			N--;
		}
		else
		{
			pulse -= R;
			if (pulse < m) pulse = m;
		}
		minute++; // 운동 또는 휴식에 소요된 시간

		if (N == 0)
		{
			cout << minute;
			return 0;
		}
	}

}

휴식 시에 맥박이 m보다 더 낮아지지않고 m으로 고정되는 것인데 m보다 낮아질 경우에도 -1를 출력해야하는줄 알아서 좀 헤맸던 문제.

 

 

 

www.acmicpc.net/problem/1173

 

1173번: 운동

첫째 줄에 다섯 정수 N, m, M, T, R이 주어진다.

www.acmicpc.net

 

반응형

+ Recent posts