토끼의 전설
시간 제한3초메모리 제한1024 MB
Q개의 캐릭터마다 N종의 마법 주문서 중 일부를 골라 공격력이 체력의 x배 이상이 되게 하면서 총비용(공격력 증가량의 합)을 최소로 만드는 값을 구한다. 불가능하면 -1을 출력한다.
문제
'궁수의 전설'을 즐기는 수학토끼는 '궁수의 전설'을 패러디한 게임인 '토끼의 전설'을 만들었다. 이 게임에는 특이한 캐릭터 업그레이드 시스템이 고안되어 있다.
- 각 캐릭터는 기본 체력과 공격력을 가지고 있고, 마법 주문서를 통해 그 값을 더 증가시킬 수 있다.
- 마법 주문서는 종류가 존재하며, 번 마법 주문서의 체력 증가량과 공격력 증가량은 각각 와 이다.
- 각 마법 주문서는 한 캐릭터에게 최대 한 번만 사용 가능하다.
- 번 마법 주문서의 가격은 번 마법 주문서의 공격력 증가량 와 같다.
수학토끼는 마법 주문서의 밸런스를 맞추기 위해 공격력이 체력의 배 이상이 되게 하기 위한 최소 비용을 알아내고 싶다. 개의 캐릭터의 기본 체력 와 기본 공격력 가 주어질 때마다, 개의 주문서 중 일부를 활용해 공격력이 체력의 배 이상이 되도록 만들 수 있는지 판별하고, 그것이 가능한 경우 최소 비용을 출력하라. (주문서를 하나도 활용하지 않아도 되고, 주문서를 모두 활용해도 된다.)
엄밀히 말하면, 개의 쌍이 주어질 때마다 다음을 만족시키는 집합 들에 대해 가능한 의 최솟값을 출력하면 된다.
입력
첫 번째 줄에 마법 주문서의 종류의 수 이 주어진다.
두 번째 줄에 개의 정수 가 공백으로 구분되어 주어진다.
세 번째 줄에 개의 정수 가 공백으로 구분되어 주어진다.
네 번째 줄에 의 분자 와 분모 가 공백으로 구분되어 주어진다.
다섯 번째 줄에 캐릭터의 개수 가 주어진다.
이후 개의 줄 중 번째 줄에 번째 캐릭터의 와 의 값이 공백으로 구분되어 주어진다.
출력
각 캐릭터에 대한 최소 비용을 개의 줄에 걸쳐 한 줄에 하나씩 출력한다. 만약 불가능한 경우 -1을 출력한다.
제한
- 1 \leq c\_i \leq 500 \~ (1 \leq i \leq N)
- 1 \leq p\_i \leq 500 \~ (1 \leq i \leq N)