Autor del Problema: | Hasan Saleh (MathModel) |
Preparado por: | Hasan Saleh (MathModel) |
Editado por: | Hasan Saleh (MathModel) |
Solución
Construyamos el arreglo mediante la diferencia de y . En general, dejemos que sea la construcción de basada en y dejemos que sea la construcción de basada en , dejemos que x_1=a_1 y
para cada (1 \le i \le n-1). Lo mismo ocurre con la suma de sufijos, y_n=s_1 y
Al final de nuestra construcción, si x=y, entonces hay un válido y es correcto y lo consideramos.
for _ in range(int(input())):
n=int(input())
p=list(map(int,input().split()))
s=list(map(int,input().split()))
a=[0]*n
b=[0]*n
a[0]=p[0]
b[n-1]=s[0]
for i in range(1,n):
a[i]=p[i]-p[i-1]
b[n-1-i]=s[i]-s[i-1]
if(a==b):
print(*a)
else:
print(-1)Complejidad .