CF1708B Difference of GCDs

题目描述

给定三个整数 $n$、$l$ 和 $r$。你需要构造一个数组 $a_1,a_2,\dots,a_n$,满足 $l\le a_i\le r$,并且 $\gcd(i,a_i)$ 两两互不相同。如果无法构造出这样的数组,则输出无解。 这里 $\gcd(x, y)$ 表示整数 $x$ 和 $y$ 的最大公约数。

输入格式

输入包含多组测试数据。第一行包含一个整数 $t$($1\le t\le 10^4$),表示测试数据的组数。接下来每组测试数据包含一行,包含三个整数 $n$、$l$、$r$($1 \le n \le 10^5$,$1\le l\le r\le 10^9$)。 保证所有测试数据中 $n$ 的总和不超过 $10^5$。

输出格式

对于每组测试数据,如果无解,输出 "NO"(不带引号,大小写均可)。否则,输出 "YES"(不带引号),并在下一行输出 $n$ 个整数 $a_1,a_2,\ldots,a_n$,表示你构造的数组。 如果有多组解,你可以输出任意一组。

说明/提示

在第一个测试用例中,$\gcd(1,a_1),\gcd(2,a_2),\ldots,\gcd(5,a_5)$ 分别为 $1$、$2$、$3$、$4$、$5$。 由 ChatGPT 4.1 翻译