TouchStone
  Please Login
Login Sign Up
 Homepage  Problem Set  Course  Examinations  Submissions  Discussions  Statistics
  • Home
  • Problem Set
  • P5559
  • Problem
  • P5559[Baltic2007] 静音问题
    Limits : Time Limit : - MS   Memory Limit : - KB
    Judgment Tips : 2s,256m
    Description

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

    Input Format

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

    Output Format

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

    Sample Input

    7 2 0
    0 1 1 2 3 2 2

    Sample Output

    2
    6