#896. 电梯检测

电梯检测

电梯检测(lift.cpp)

​【​​​题目描述​**】**

小区的电梯老是出现各种各样的问题,于是乎,聪明的John就发明了一种电梯乘载的问题检测方法。他将电梯底部划分为N个区域(编号从1到N),每个区域都安装有对该区域的压力检测传感器。他对采集到的N个压力值进行连续区间长度为M的检测,若该区间的极差(Max-Min)极差超过了阈值D,则说明这块区间区域受力不均衡,否则说明这块区间区域受力均衡无需检测。

现在给你N个区域的压力值,请你写一个程序,计算出无需检测的区间的起始点编号。

【输入】

第一行有三个整数 N,M,D,分别表示N个区域、区间长度为M、阈值为D。

第 2 行 n 个整数 ai(0≤ai≤10​^6^​),表示每个区域的压力值,每两个整数之间用空格隔开。

【输出】

每行列出所有无需检测的起始位置i(i满足Max(a​~i~​~a​~i+m-1~​)-Min(a​~i~​~a​~i+m-1~​)≤D),按照出现的先后顺序输出。

特殊的,如果所有区间都需要检测则输出 ”dangerous”。

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

【数据说明】

对于10%的测试点:N,M<=20;

对于40%的测试点:N,M<=1500

对于100%的测试点:1≤N≤10​^6^​,1≤M≤10​^4^​,0≤D≤10^4^