아직 만들고 있는 페이지입니다.

이 페이지는 아직 만드는 중입니다. 보이는 내용은 바뀔 수 있습니다.

피로도

면접 대비

시간 제한1초메모리 제한1024 MB

요약
하루 24시간 동안 매시간 일하거나 쉬며, 일하면 피로가 A 늘고 작업량이 B 쌓이며 쉬면 피로가 C 줄어든다. 피로를 M 이하로 유지하면서 얻을 수 있는 최대 작업량을 구한다.
난이도

보통10점 중 4점

유형
그리디, 시뮬레이션, 구현, 수학
정답자
아직 제출이 없습니다

문제

하루에 한 시간 단위로 일을 하거나 쉴 수 있다. 한 시간 일하면 피로도가 AA만큼 쌓이고 일을 BB만큼 처리한다.

한 시간을 쉬면 피로도가 CC만큼 줄어든다. 단, 피로도가 음수로 내려가면 00이 된다. 쉬는 동안에는 일을 하지 않으므로 처리한 일은 없다.

피로도가 MM을 넘지 않도록 일하려고 한다. MM을 넘기면 번아웃이 와서 이미 처리한 일을 모두 버리고 일을 그만두게 된다.

번아웃이 되지 않으면서 하루에 최대 얼마나 많은 일을 할 수 있는지 구하자. 하루는 24시간이다.

입력

첫 번째 줄에 네 정수 AA, BB, CC, MM이 공백으로 구분되어 주어진다.

맨 처음 피로도는 0이다.

출력

하루에 번아웃이 되지 않으면서 일할 때 최대 얼마나 많은 일을 할 수 있는지 출력한다.

제한

  • 1≤A≤1 000 0001 \le A \le 1\,000\,000
  • 1≤B≤10 0001 \le B \le 10\,000
  • 1≤C≤10 0001 \le C \le 10\,000
  • 1≤M≤1 000 0001 \le M \le 1\,000\,000

예제3

  1. 예제 1

    입력
    5 3 2 10
    
    예상 출력
    24
    
  2. 예제 2

    입력
    10 5 1 10
    
    예상 출력
    15
    
  3. 예제 3

    입력
    11 5 1 10
    
    예상 출력
    0