CF75C Modified GCD

题目描述

这里又是一道数学课作业题。在数学中,GCD 指的是最大公约数,计算两个正整数的 GCD 是一道简单的任务。 对于两个正整数来说,公约数指的是能够同时整除这两个数的数。 但你的老师想让你完成一道更难的任务:你需要在一个给定的区间内,从 $low$ 到 $high$(包含边界),找到两个整数 $a$ 和 $b$ 的最大公约数 $d$,即满足 $low \leq d \leq high$。也有可能在给定的区间内没有任何公约数。 你会得到两个整数 $a$ 和 $b$,接着有 $n$ 个询问。每个询问给出一个区间 $low$ 到 $high$,你需要对每个询问做出回答。

输入格式

第一行包含两个整数 $a$ 和 $b$,如上所述($1 \leq a, b \leq 10^9$)。 第二行包含一个整数 $n$,表示询问的个数($1 \leq n \leq 10^4$)。 接下来的 $n$ 行,每行包含两个整数,分别为 $low$ 和 $high$($1 \leq low \leq high \leq 10^9$),表示每个询问的区间。

输出格式

输出共 $n$ 行,第 $i$ 行输出输入中第 $i$ 个询问的结果。如果在该询问的区间内没有任何公约数,输出 $-1$。

说明/提示

由 ChatGPT 5 翻译