TouchStone
  请登录后使用
登录 注册
 系统首页  练习题库  考试列表  判题结果  信息发布  解题排行
  • 首页
  • 题库
  • P5559
  • 题目
  • P5559[Baltic2007] 静音问题
    限制 : 时间限制 : - MS   空间限制 : - KB
    评测说明 : 2s,256m
    问题描述

    数字录音中,声音是用表示空气压力的数字序列描述的,序列中的每个值称为一个采样,每个采样之间间隔一定的时间。
    很多声音处理任务都需要将录到的声音分成由静音隔开的几段非静音段。
    为了避免分成过多或者过少的非静音段,静音通常是这样定义的:m个采样的序列,该序列中采样的最大值和最小值之差不超过一个特定的阈值c。
    请你写一个程序,检测n个采样中的静音。

    输入格式

    第一行有三个整数n,m,c,分别表示总的采样数、静音的长度和静音中允许的最大噪音程度。
    第2行n个整数ai,表示声音的每个采样值,每两个整数之间用空格隔开。
    1<=n<=1000000, 1<=m<=10000, 0<=c<=10000
    0<=ai<=1,000,000

    输出格式

    列出了所有静音的起始位置i
    i满足max(a[i, . . . , i+m−1]) − min(a[i, . . . , i+m−1]) <= c
    每行表示一段静音的起始位置,按照出现的先后顺序输出。
    如果没有静音则输出NONE。

    样例输入

    7 2 0
    0 1 1 2 3 2 2

    样例输出

    2
    6