토끼의 전설

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

요약
Q개의 캐릭터마다 N종의 마법 주문서 중 일부를 골라 공격력이 체력의 x배 이상이 되게 하면서 총비용(공격력 증가량의 합)을 최소로 만드는 값을 구한다. 불가능하면 -1을 출력한다.
난이도

어려움10점 중 8점

유형
동적 계획법, 그리디, 수학, 누적 합
정답자
아직 제출이 없습니다

문제

'궁수의 전설'을 즐기는 수학토끼는 '궁수의 전설'을 패러디한 게임인 '토끼의 전설'을 만들었다. 이 게임에는 특이한 캐릭터 업그레이드 시스템이 고안되어 있다.

  • 각 캐릭터는 기본 체력과 공격력을 가지고 있고, 마법 주문서를 통해 그 값을 더 증가시킬 수 있다.
  • 마법 주문서는 NN종류가 존재하며, ii번 마법 주문서의 체력 증가량과 공격력 증가량은 각각 c_ic\_i와 p_ip\_i이다.
  • 각 마법 주문서는 한 캐릭터에게 최대 한 번만 사용 가능하다.
  • ii번 마법 주문서의 가격은 ii번 마법 주문서의 공격력 증가량 p_ip\_i와 같다.

수학토끼는 마법 주문서의 밸런스를 맞추기 위해 공격력이 체력의 xx배 이상이 되게 하기 위한 최소 비용을 알아내고 싶다. QQ개의 캐릭터의 기본 체력 CC와 기본 공격력 PP가 주어질 때마다, NN개의 주문서 중 일부를 활용해 공격력이 체력의 xx배 이상이 되도록 만들 수 있는지 판별하고, 그것이 가능한 경우 최소 비용을 출력하라. (주문서를 하나도 활용하지 않아도 되고, 주문서를 모두 활용해도 된다.)

엄밀히 말하면, QQ개의 (C,P)(C, P) 쌍이 주어질 때마다 다음을 만족시키는 집합 S⊆1,2,⋯ ,NS \subseteq \\{1, 2, \cdots, N\\}들에 대해 가능한 ∑_i∈Sp_i\sum\_{i \in S} {p\_i}의 최솟값을 출력하면 된다.

P+∑_i∈Sp_iC+∑_i∈Sc_i≥x\frac{P + \sum\_{i \in S} p\_i}{C + \sum\_{i \in S} c\_i} \geq x

입력

첫 번째 줄에 마법 주문서의 종류의 수 NN이 주어진다.

두 번째 줄에 NN개의 정수 c_1,c_2,⋯ ,c_Nc\_1, c\_2, \cdots, c\_N가 공백으로 구분되어 주어진다.

세 번째 줄에 NN개의 정수 p_1,p_2,⋯ ,p_Np\_1, p\_2, \cdots, p\_N가 공백으로 구분되어 주어진다.

네 번째 줄에 x=abx = \frac{a}{b}의 분자 aa와 분모 bb가 공백으로 구분되어 주어진다.

다섯 번째 줄에 캐릭터의 개수 QQ가 주어진다.

이후 QQ개의 줄 중 jj번째 줄에 jj번째 캐릭터의 CC와 PP의 값이 공백으로 구분되어 주어진다. (1≤j≤Q)(1 \leq j \leq Q)

출력

각 캐릭터에 대한 최소 비용을 QQ개의 줄에 걸쳐 한 줄에 하나씩 출력한다. 만약 불가능한 경우 -1을 출력한다.

제한

  • 1≤N≤5001 \leq N \leq 500
  • 1 \leq c\_i \leq 500 \~ (1 \leq i \leq N)
  • 1 \leq p\_i \leq 500 \~ (1 \leq i \leq N)
  • 1≤a,b≤1091 \leq a, b \leq 10^9
  • 1≤Q≤1051 \leq Q \leq 10^5
  • 1≤C,P≤5001 \leq C, P \leq 500

예제1

  1. 예제 1

    입력
    5
    1 2 3 4 5
    5 4 3 2 1
    1 2
    3
    500 500
    500 1
    11 5
    
    예상 출력
    0
    -1
    3