测评会员优惠活动进行中 · 开通 VIP,有效期内测评不限次 VIP 优惠中 · 测评不限次 立即查看

A12748. Maximum Sine

编程题 普及/提高-

题目描述

You have given integers $a$ , $b$ , $p$ , and $q$ . Let $f(x) = \text{abs}(\text{sin}(\frac{p}{q} \pi x))$ .

Find minimum possible integer $x$ that maximizes $f(x)$ where $a \le x \le b$ .

输入格式

Each test contains multiple test cases.

The first line contains the number of test cases $t$ ( $1 \le t \le 100$ ) — the number of test cases.

The first line of each test case contains four integers $a$ , $b$ , $p$ , and $q$ ( $0 \le a \le b \le 10^{9}$ , $1 \le p$ , $q \le 10^{9}$ ).

输出格式

Print the minimum possible integer $x$ for each test cases, separated by newline.

输入输出样例

输入 #1
2
0 3 1 3
17 86 389 995
输出 #1
1
55

说明/提示

In the first test case, $f(0) = 0$ , $f(1) = f(2) \approx 0.866$ , $f(3) = 0$ .

In the second test case, $f(55) \approx 0.999969$ , which is the largest among all possible values.
上一题 去做题 下一题