피트 스톱 전략

아직 제출이 없습니다시간 제한1초메모리 제한128 MB

문제

다른 조건이 모두 같다면 경주용 자동차는 연료를 적게 실을수록 빨라진다. 연료의 무게는 차를 느리게 만들 뿐 아니라 연료 소모도 늘리기 때문이다. 따라서 연료는 적게 싣는 편이 유리하지만, 경주 도중에 연료가 바닥나서는 안 된다.

경주가 시작되기 전에는 원하는 만큼 연료를 실을 수 있으며(이 최초 주유에는 시간이 들지 않는다), 경주 도중에는 피트 스톱에서 연료를 보충할 수 있다. 피트 스톱에 드는 시간은 주유량이 많을수록 늘어난다.

총 $L$바퀴를 도는 경주를 생각하자. 어떤 바퀴를 시작할 때 차가 연료 $f$리터를 싣고 있다면,

  • 그 바퀴를 도는 데 $t + a \cdot f$초가 걸리고,
  • 그 바퀴에서 연료를 $c + b \cdot f$리터 소모한다.

여기서 $t$는 빈 탱크에서의 한 바퀴 시간, $a$는 실은 연료 1리터당 늘어나는 바퀴 시간, $c$는 빈 탱크에서 한 바퀴당 연료 소모량, $b$는 실은 연료 1리터당 늘어나는 소모량이다(단 $b < 1$).

피트 스톱은 바퀴와 바퀴 사이에서만 할 수 있다. 피트 스톱에서 연료 $x$리터를 주유하면 $p + q \cdot x$초가 걸리며, 여기서 $p$는 피트 스톱의 고정 소요 시간, $q$는 주유 1리터당 추가로 드는 시간이다. 경주 전에 싣는 연료에는 시간이 들지 않는다.

총 경주 시간은 모든 바퀴 시간과 모든 피트 스톱 시간의 합이다. 연료가 바닥나지 않으면서 $L$바퀴를 모두 도는, 최소 총 경주 시간을 구하여라.

입력

입력은 여러 줄로 이루어지며, 각 줄은 자동차 한 대를 나타내고 서로 독립적으로 처리한다. 입력의 끝까지 각 줄을 읽는다.

각 줄에는 공백 하나로 구분된 일곱 개의 수가 주어진다.

  • $L$ — 경주의 바퀴 수 (정수, $L \le 100$)
  • $t$ — 빈 탱크일 때 한 바퀴에 걸리는 시간(초) (실수)
  • $a$ — 바퀴 시작 시 실은 연료 1리터당 늘어나는 바퀴 시간(초) (실수)
  • $c$ — 빈 탱크일 때 한 바퀴당 연료 소모량(리터) (실수)
  • $b$ — 바퀴 시작 시 실은 연료 1리터당 늘어나는 연료 소모량 (실수, $1$보다 엄격히 작음)
  • $p$ — 연료를 넣지 않는 피트 스톱에 걸리는 시간(초) (실수)
  • $q$ — 주유 1리터당 추가로 드는 피트 스톱 시간(초) (실수)

출력

각 자동차(각 입력 줄)마다, 가능한 최소 총 경주 시간을 소수점 아래 셋째 자리까지 반올림하여 한 줄에 출력한다.