#1342. [Baltic2007] 静音问题 Sound

[Baltic2007] 静音问题 Sound

题目描述

数字录音中,声音是用表示空气压力的数字序列描述的,序列中的每个值称为一个采样,每个采样之间间隔一定的时间。

很多声音处理任务都需要将录到的声音分成由静音隔开的几段非静音段。为了避免分成过多或者过少的非静音段,静音通常是这样定义的:mm 个采样的序列,该序列中采样的最大值和最小值之差不超过一个特定的阈值 cc

请你写一个程序,检测 nn 个采样中的静音。

输入格式

第一行有三个整数 n,m,cn,m,c1n1061\le n\le10^61m1041\le m\le10^40c1040\le c\le10^4),分别表示总的采样数、静音的长度和静音中允许的最大噪音程度。

22nn 个整数 aia_i0ai1060\le a_i\le 10^6),表示声音的每个采样值,每两个整数之间用空格隔开。

输出格式

列出了所有静音的起始位置 iiii 满足max{ai,ai+1ai+m1}min{ai,ai+1ai+m1}c\max\{a_i,a_{i+1}\cdots a_{i+m-1}\}-\min\{a_i,a_{i+1}\cdots a_{i+m-1}\}\le c),每行表示一段静音的起始位置,按照出现的先后顺序输出。如果没有静音则输出 NONE

7 2 0
0 1 1 2 3 2 2
2
6