포도주 상인

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

요약
y일 동안 x병을 모두 팔아야 하며, 한 병 팔 때마다 가격이 a만큼 내리고 하루가 지나면 b만큼 오를 때 최대 매출을 구한다.
난이도

보통10점 중 6점

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

문제

포도주 상인 와칠은 yy일 동안 총 xx병의 포도주를 판매하여 매출을 최대로 만들고 싶어 한다. 포도주의 가격은 다음 규칙에 따라 변동한다.

  • 판매 첫날인 1일차 아침에 포도주 한 병의 가격은 pp이다.
  • 포도주를 한 병 판매할 때마다 포도주의 가격이 aa만큼 감소한다.
  • 하루가 지나 다음 날이 되면 포도주의 가격이 bb만큼 증가한다.
  • 포도주의 가격은 음수가 될 수도 있다.

와칠은 매일 원하는 만큼 포도주를 판매할 수 있지만 하루에 여러 병을 파는 경우 포도주의 가격은 한 병을 판매할 때마다 변동한다. 예를 들어 어떤 시점에 가격이 PP일 때 두 병을 연속으로 판매한다면 첫 번째 병은 PP에, 두 번째 병은 P−aP-a에 판매하게 된다.

와칠이 yy일 동안 xx병의 포도주를 모두 판매했을 때 얻을 수 있는 최대 매출을 구하여라. 남은 포도주가 있어서는 안 된다.

입력

첫째 줄에 다섯 개의 정수 xx, yy, pp, aa, bb가 공백으로 구분되어 주어진다. (0≤x≤106;0 \le x \le 10^{6}; 1≤y≤106;1 \le y \le 10^{6}; 0≤p≤109;0 \le p \le 10^{9}; 0≤a,b≤1,0000 \le a, b \le 1\\,000)

출력

와칠이 xx병의 포도주를 모두 팔아 얻을 수 있는 최대 매출을 출력한다. 이 값은 음수일 수도 있다.

예제3

  1. 예제 1

    입력
    3 3 20 3 2
    
    예상 출력
    63
    
  2. 예제 2

    입력
    3 3 20 3 0
    
    예상 출력
    51
    
  3. 예제 3

    입력
    3 3 20 0 2
    
    예상 출력
    72