参考http://blog.csdn.net/dormousenone/article/details/71404361
题意
记 AC 率为当前 AC 提交的数量 x / 总提交量 y 。已知最喜欢的 AC 率为 p/q (pq∈[0,1]) 。 求最少在提交多少题(AC or NOT)能恰好达到 AC 率为 p/q 。
分析;这个地方要推公式比较好,也有别人的方法是用二分http://blog.csdn.net/mengxiang000000/article/details/71406203
记得要从第二的的不等式中推出方程。。
#include<bits/stdc++.h>
using namespace std;
long long x, y, p, q;
int main()
{
int T;
scanf("%d",&T);
while(T--)
{
cin>>x>>y>>p>>q;
if(p==q){
printf("%d\n", x==y?0:-1); continue;
}
if(p==0){
printf("%d\n", x==0?0:-1); continue;
}
long long GCD = __gcd(p, q);
p /= GCD, q /= GCD;
long long n = max(ceil(x*1.0/p), ceil((y-x)*1.0/(q-p)));
printf("%I64d\n", n*q-y);
}
}