题目描述
做到这里,你已经具有一定的编程经验了,假设你做了y道题,其中有x道题通过,那么正确率为x/y
假设你想要自己的正确率达到p/q,你最少还需要做多少个题?
p/q是最简分数形式
输入格式
输入四个整数x,y,p,q
输出格式
输出一个整数,如果不可能达到p/q,输出-1
样例输入
7 14 3 8
样例输出
10
本题我的代码WA85分,请问哪里错了?
#include <bits/stdc++.h>
using namespace std;
int main() {
int x, y, p, q;
scanf("%d%d%d%d", &x, &y, &p, &q);
double a = x * 1.0 / y, b = p * 1.0 / q;
if (b == 0 || b == 1) {
puts("-1");
return 0;
}
long long k = max((x - 1) / p, (y - x - 1) / (q - p)) + 1;
cout << k * q - y;
return 0;
}