용감한 용사 수호

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

요약
N개 장비 중 M개를 골라 공격력과 체력을 올린 뒤, 두 능력치가 모두 상대 이하인 몬스터 수를 최대로 만든다.
난이도

보통10점 중 6점

유형
그리디, 정렬, 누적 합, 완전 탐색
정답자
아직 제출이 없습니다

문제

수호는 먹는 걸 좋아하는 모험가다. 하지만 먹고살기 위해서는 돈이 필요하기 때문에 수호는 몬스터를 사냥해서 돈을 벌려고 한다.

수호에게는 공격력과 체력이라는 능력치가 존재하는데, 수호의 초기 공격력과 초기 체력은 각각 정수 X,YX,Y이다. 수호는 마을의 상점에서 장비를 구매해서 자신의 공격력과 체력을 올릴 수 있다. 상점은 NN개의 장비를 판매하고 있는데, 수호가 i(1≤i≤N)i(1\le i\le N)번째 장비를 착용하면 공격력이 x_ix\_i만큼 증가하고, 체력이 y_iy\_i만큼 증가한다. 각 장비는 최대 한 개만 구매할 수 있고, 수호는 MM개의 장비를 구매해서 착용하려고 한다.

장비를 구매한 수호는 사냥터에서 몬스터들을 사냥한다. 사냥터에는 몬스터가 KK마리 있는데, i(1≤i≤K)i(1\le i\le K)번째 몬스터의 공격력과 체력은 각각 정수 p_i,q_ip\_i,q\_i이다. 수호가 ii번째 몬스터를 사냥하기 위해서는 수호의 공격력이 몬스터의 공격력보다 높거나 같고, 체력 또한 몬스터의 체력보다 높거나 같아야 한다. 몬스터를 사냥한 뒤에도 수호의 체력과 공격력은 변하지 않는다. 각 몬스터는 최대 한 번만 사냥할 수 있다.

먹는 걸 좋아하는 수호는 많은 돈을 벌기 위해 최대한 많은 몬스터를 사냥하려고 한다. MM개의 장비를 적절히 구매해서 착용했을 때, 수호가 사냥할 수 있는 최대 몬스터의 수를 구해보자.

입력

첫째 줄에 정수 N,M(1≤M≤N≤300)N,M(1\le M\le N\le 300)과 정수 X,Y(1≤X,Y≤300)X,Y(1\le X,Y\le 300)가 공백으로 구분되어 주어진다.

둘째 줄부터 NN개의 줄에 정수 x_i,y_i(1≤x_i,y_i≤300)x\_i,y\_i(1\le x\_i,y\_i\le 300)가 공백으로 구분되어 주어진다. x_i,y_ix\_i,y\_i는 ii번째 장비를 착용했을 때 증가하는 공격력과 체력을 의미한다.

N+2N+2번째 줄에 정수 K(1≤K≤50,000)K(1\le K\le 50\\, 000)가 주어진다.

N+3N+3번째 줄부터 KK개의 줄에 정수 p_i,q_i(1≤p_i,q_i≤300)p\_i,q\_i(1\le p\_i,q\_i\le 300)가 공백으로 구분되어 주어진다. p_i,q_ip\_i,q\_i는 ii번째 몬스터의 공격력과 체력을 의미한다.

출력

MM개의 장비를 적절히 구매해서 착용했을 때, 수호가 사냥할 수 있는 최대 몬스터의 수를 출력한다.

예제2

  1. 예제 1

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

    입력
    3 2 3 1
    4 1
    2 3
    5 9
    4
    1 4
    6 2
    9 14
    13 10
    
    예상 출력
    2