Добрий масив#12291

Добрий масив (Розбір)

Автор задачі:

Осман

Підготовлено:

Хасан Салех (MathModel)

Редагував:

Хасан Салех (MathModel)

Рішення

Зверніть увагу, що немає обмежень на різні елементи масиву, тому ми можемо розглянути два елементи та для масиву так, що \gcd(a,b)=x та \text{lcm}(a,b)=y. Зверніть увагу, що a \cdot b =\gcd(a,b) \cdot \text{lcm}(a,b), що змушує \text{lcm}(a,b) бути кратним \gcd(a,b), отже, розв'язок існує, якщо \text{lcm}(a,b) \bmod \gcd(a,b)=0, що означає, що розв'язок існує, якщо y \bmod x=0.

Мінімальний розв'язок відповідає масиву [\underbrace{x,x,x,...,x}_{n-1 \text{ раз}},y], оскільки завжди гарантується, що x \le y.

Єдиний крайній випадок - коли n=1, тоді x=y має бути вірним.

Складність .

for _ in range(int(input())):
    n,x,y=map(int,input().split())
    if(n==1):
        if(x==y):
            print(x)
        else:
            print(-1)
    else:
        if(y%x==0):
            print(*([x]*(n-1)+[y]))
        else:
            print(-1)