题目描述
读入 个整数和窗口长度 。一个长度为 的窗口从序列最左端开始,每次向右移动一格,直到抵达最右端,共出现 个窗口。输出每个窗口内 个数的和。
维护技巧:新数从队尾 push 进队列;队列一超过 个,就让队头 pop 出去——同时把这个数的贡献从运行和中减掉。窗口每滑动一格,和只是「加一个新数、减一个旧数」,不必重算。
输入格式
第一行两个整数 、()。
第二行 个整数 ()。
输出格式
一行 个整数:每个窗口的和,按从左到右顺序,用空格分隔。
样例
输入:
5 2
1 2 3 4 5
输出:
3 5 7 9
四个窗口的和分别是 、、、。
数据范围
,。提示:进一个出一个,和加新减旧——只加不减,和会一路虚涨;窗口和最大可达 ,要用 long long。