中階班例題

滑動窗口平均值

時間限制 1000 ms · 記憶體限制 256 MB · C++

給定一個整數陣列 $a$,請你計算每個長度為 $k$ 的連續子陣列的平均值(向下取整)。

也就是對於每個 $i$,輸出 $\lfloor (a[i] + a[i+1] + \cdots + a[i+k-1]) / k \rfloor$。

輸入說明

  • 第一行為兩個整數 $n$ 和 $k$,代表陣列長度與視窗大小
  • 其中 $1 \le k \le n \le 10^{5}$
  • 第二行為 $n$ 個整數($-10^{4} \le a[i] \le 10^{4}$)

輸出說明

輸出 $n - k + 1$ 個整數,每個為視窗內的平均值(向下取整),用空格分隔。

範例

範例輸入 1

6 3
1 3 -2 4 5 0

範例輸出 1

0 1 2 3
C++77 / 50,000

「跑範例測資」只跑題目敘述上的範例,會顯示你的輸出與正確答案的對照; 「提交評測」會跑完整的測資並給實際結果,但不會顯示測資內容。兩者都不需要帳號,也不會留下成績紀錄。