求助 #5 WA
查看原帖
求助 #5 WA
1028403
封禁用户楼主2024/7/23 20:44

rt. wrong answer 14th numbers differ - expected: '2', found: '1'。

#include <iostream>
#include <algorithm>
using namespace std;

const int N = 1e6 + 5;
int cur, p[N];

int main()
{
    int a, b;
    cin >> a >> b;
    int Gcd = __gcd(a, b);
    for (int i = 1; i * i <= Gcd; i++)
    {
        if (!(Gcd % i))
        {
            p[++cur] = i;
            p[++cur] = Gcd / i;
        }
    }
    sort(p + 1, p + 1 + cur);
    int q;
    cin >> q;
    while (q--)
    {
        int l, r;
        cin >> l >> r;
        int x = lower_bound(p + 1, p + 1 + cur, r) - p - 1;
        if (p[x] < l) cout << "-1\n";
        else cout << p[x] << "\n";
    }
    return 0;
}
2024/7/23 20:44
加载中...