가장 빠르게 처리할 수 있는 경우는 2가지이다.
m과 n을 각각 처리하는 방법과 동시에 처리하는 방법에서 1개씩 나온다.
#include <iostream>
using namespace std;
float a, m, n, answer;
int main()
{
ios::sync_with_stdio(0), cin.tie(0);
cout << fixed;
cout.precision(7);
cin >> a >> m >> n;
if (m > n) // n이 더 크게
{
swap(m, n);
}
answer = max(m, n / a); // 동시에 돌리는 경우
answer = min((m / a) * 2, answer); // 하나에 돌리는 경우
cout << answer;
return 0;
}
m과 n중 오래 걸리는 것을 단축시키고 동시에 돌리는 경우,
m과 n중 짧게 걸리는 것을 단축시키고 한곳에서 전담해서 돌리는 경우로 나뉜다.
동시에 돌리는 경우는 m과 n 중 더 긴 것이 총 걸린 시간이다.
하나에 돌리는 경우는 가장 짧게 걸리는 것을 2번 돌리는 것이 총 걸린 시간이다.