만드는 중입니다

아직 만드는 중이라 바뀔 수 있습니다

일하는 자가 먹는다... 아무것도

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

요약
일꾼이 작업의 p퍼센트를 끝냈고 식량의 q퍼센트를 먹은 상태에서, 각각 a배 빠르고 b배 적게 먹는 도우미를 최소 몇 명 투입해야 식량이 떨어지기 전에 작업을 끝낼 수 있는지 구하고, 불가능하면 -1을 출력한다.
난이도

보통10점 중 4점

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

문제

<<합의는 당사자들의 완전한 무저항의 산물이다>>라는 말에도 불구하고, 메치니코프는 연극 소품을 나르지 않을 수 없었다.

그가 일의 pp 퍼센트를 끝냈을 때, 극장 지배인은 일꾼이 일을 끝낼 때까지 먹일 식량이 충분하지 않다는 것을 깨달았다. 메치니코프는 받은 식량의 qq 퍼센트를 먹었고, qq는 pp보다 크다.

그때 지배인은 유명한 좌우명 <<일하지 않는 자가 먹는다>>를 조금 바꾸어 <<일하는 자가 먹는다... 아무것도>> (혹은 거의 아무것도)를 떠올렸다. 그래서 그는 일하는 무산자에게 약간의 무료 노동력을 붙여 주기로 했다. 먹을 것을 위해 일하는 몇 명의 코더다. 각 코더는 전기공보다 aa배 빠르게 일하고 bb배 느리게 먹는다.

무료 코더의 공급은 사실상 무한하지만, 너무 많이 데려올 이유는 없다. 이것이 소문이 나서 무료 식량을 원하는 큰 무리가 몰려오면 어떡하겠는가? 지배인이 남은 식량으로 일이 끝날 때까지 버티기에 충분한 최소한의 코더 수를 찾도록 도와주자.

입력

입력 파일의 첫 번째 줄에는 테스트의 수 tt (1≤t≤3⋅1041 \leq t \leq 3 \cdot 10^4)가 주어진다. 다음 tt개 줄에는 각각 네 정수 0<p,q,a,b<1000 < p, q, a, b < 100가 주어지며, 각각 완료된 일의 퍼센트, 소비된 식량의 퍼센트, 코더가 몇 배 빠르게 일하는지, 몇 배 느리게 먹는지를 나타낸다. q>pq > p임이 보장된다.

출력

tt개의 테스트 각각에 대해 일을 끝내는 데 필요한 최소 코더 수를 정수 하나로 출력한다. 일을 끝내는 것이 불가능하면 -1을 출력한다.

예제1

  1. 예제 1

    입력
    3
    1 2 99 1
    30 60 2 2
    30 80 1 2
    
    예상 출력
    1
    10
    -1