Problem Müəllifi: | Hasan Saleh (MathModel) |
Hazırlayan: | Hasan Saleh (MathModel) |
Redaktə edən: | Hasan Saleh (MathModel) |
Həll
Biz orijinal massivi əldə etmək üçün prefiks-cəmi prosesini tərsinə çevirə bilərik, bu, fərq massivindən istifadə etməklə edilə bilər, beləliklə yeni tərsinə çevrilmiş proses olacaq:
ilkin elementi x=a_1 qəbul et.
a_1 eyni qalır.
d_1,d_2,..,d_{n-1} fərq massivini qəbul et.
i=2,..,n üzrə keç, sonra d_i \gets a_i-a_{i-1}
a \gets [a_1,d_1,d_2,..,d_{n-1}]
Proses dəqiq dəfə təkrarlanacaq, sonra orijinal massiv bərpa olunacaq.
Komplekslik
def solve():
n,k=map(int,input().split())
a=list(map(int,input().split()))
for _ in range(k):
d=[]
for i in range(1,n):
d.append(a[i]-a[i-1])
a=[a[0]]+d
print(*a)
for _ in range(int(input())):
solve()