GROI R2 T1
BestFriend
·
·
题解
读题,第一反应构造。
情况一:
显然,构造 $ n-2 $ 个 1,2 个 $ x-n+2 $,最大公约数之和为 $ n-2+x-n+2=x $。
情况二:
$ n $ 个数的最小公倍数之和为 $ x $。
显然,构造 $ n-2 $ 个 1,1 个 $ x-n+2 $,最小公倍数之和为 $ n-2+x-n+2=x $。
Code:
```cpp
#include<cstdio>
using namespace std;
const int N=5e5+7;
int T,a[N];
signed main(){
scanf("%d",&T);
while(T--){
int op,n,x;
scanf("%d%d%d",&op,&n,&x);
if(op==1){
int num=x-n+2;
if(num<=0){
putchar('-'),putchar('1');
goto print;
}
for(int i=1;i<=n-2;i++){
putchar('1'),putchar(' ');
}
for(int i=n-1;i<=n;i++){
printf("%d ",num);
}
}
else{
int num=x-n+2;
if(num<=0){
putchar('-'),putchar('1');
goto print;
}
for(int i=1;i<=n-1;i++){
putchar('1'),putchar(' ');
}
printf("%d",num);
}
print:
putchar('\n');
}
return 0;
}
```