Cho một chuỗi thời gian gồm n quan sát x1,x2,…,xn (theo thứ tự thời gian tăng dần) và một số nguyên lẻ k (1≤k≤n). Với mỗi vị trí i (1≤i≤n), trung bình trượt tâm bậc k tại i được định nghĩa là trung bình cộng của k quan sát liên tiếp có tâm tại i:
MAk(i)=k1∑j=i−2k−1i+2k−1xj
Nếu cửa sổ [i−2k−1,i+2k−1] vượt ra ngoài phạm vi [1,n] (không đủ dữ liệu để tính), tại vị trí đó ta quy ước giá trị là NA (không xác định).
Yêu cầu: tính MAk(i) cho mọi i từ 1 đến n.
Ví dụ: với n=5, k=3, chuỗi 1 2 3 4 5, ta có MA3(1) và MA3(5) không đủ dữ liệu nên là NA; MA3(2)=(1+2+3)/3=2, MA3(3)=(2+3+4)/3=3, MA3(4)=(3+4+5)/3=4. Kết quả in ra: NA 2.0000 3.0000 4.0000 NA.
Dòng 1: hai số nguyên n và k (1≤k≤n≤1000, k là số lẻ), cách nhau bởi khoảng trắng. Dòng 2: n số thực x1,x2,…,xn (mỗi số có trị tuyệt đối không vượt quá 106), cách nhau bởi khoảng trắng.
In ra một dòng duy nhất gồm n giá trị cách nhau bởi một khoảng trắng, theo đúng thứ tự i=1,…,n: tại các vị trí không đủ dữ liệu in chuỗi NA, các vị trí còn lại in giá trị MAk(i) làm tròn đến đúng 4 chữ số thập phân (nếu kết quả làm tròn ra −0.0000 thì in 0.0000).
Ví dụ:
Đầu vào:
5 3
1 2 3 4 5
Đầu ra:
NA 2.0000 3.0000 4.0000 NA
Đầu vào:
1 1
5
Đầu ra:
5.0000
Đang tải editor...