우유와 꿀

면접 대비

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

요약
각 밭을 소나 벌 중 하나에 배정해 총 행복을 최대화한다. 밭마다 생산량이 늘수록 단위 가치가 일정량씩 줄어든다.
난이도

보통10점 중 4점

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

문제

우유와 꿀이 흐르는 나라에서 주쿠는 소와 벌을 관리한다. 벌은 소를 쏘아 불행하게 만들고, 소는 벌이 꿀을 만드는 데 쓰는 꽃을 모두 먹어 치운다. 그래서 소와 벌은 서로 다른 목초지에 두어야 하며, 각 목초지는 소 아니면 벌, 한 종류만 기를 수 있다.

소와 벌은 얼마든지 구할 수 있으므로, 목초지를 소에 쓰면 그 목초지가 수용할 수 있는 최대 마릿수인 CC마리의 소를, 벌에 쓰면 BB마리의 벌을 가득 채운다.

소 한 마리는 우유 한 단위를, 벌 한 마리는 꿀 한 단위를 만든다. 우유와 꿀은 소비할 때 서로 다른 크기의 행복을 주며, 손님은 희귀한 것일수록 더 높게 친다. 그래서 한 목초지 안에서 첫 번째 우유 한 단위는 MM만큼의 행복을, 두 번째는 M−DMM - D_M, 세 번째는 M−2⋅DMM - 2 \cdot D_M, ... 이런 식으로 준다(단, 그 값이 00 아래로 내려가지는 않는다). 꿀도 HH와 DHD_H에 대해 같은 규칙을 따른다.

주쿠는 각 목초지를 소에 쓸지 벌에 쓸지 정하여 전체 행복의 합을 최대로 만들려 한다. 손으로 계산하기에는 경우가 너무 많으니, 최대 행복을 구해 주자.

입력

첫째 줄에 정수 MM (0≤M≤10000 \le M \le 1000), 즉 첫 우유 한 단위의 행복과 DMD_M (0≤DM≤M0 \le D_M \le M), 즉 한 목초지에서 우유 한 단위가 늘 때마다 줄어드는 행복의 크기가 주어진다.

둘째 줄에 꿀에 대한 같은 정보인 정수 HH와 DHD_H (0≤DH≤H≤10000 \le D_H \le H \le 1000)가 주어진다.

셋째 줄에 목초지의 수 NN (1≤N≤10001 \le N \le 1000)이 주어진다. 이어지는 NN개의 줄에 각 목초지가 수용할 수 있는 소의 수 CC (0≤C≤1000 \le C \le 100)와 벌의 수 BB (0≤B≤1000 \le B \le 100)가 주어진다.

출력

얻을 수 있는 최대 행복의 합을 한 줄에 출력한다.

예제2

  1. 예제 1

    입력
    3 0
    5 0
    3
    4 2
    3 2
    2 1
    
    예상 출력
    28
    
  2. 예제 2

    입력
    7 4
    5 2
    3
    2 2
    1 3
    3 1
    
    예상 출력
    29