[Home|Training|Problems|Contests|C Language] | [Login|Register] |
Problems Status Rank |
Problem 1215
未知星球
Time Limit: 1000ms
Memory Limit: 65536kb Description
fuch正在驾驶太空船探索一个未知的星球。已知这个星球可以近似认为是个规则的球体,并且fuch的太空船正在赤道上空沿着规则的圆形轨道绕这个星球飞行。通过一些采样测量,fuch获取到了这个星球赤道的高度信息。采样数据共有n个,均匀覆盖了整个赤道,并且都是整数(因为太空船的计算机不支持浮点运算)。 fuch正打算降落,所以需要找一片平原。fuch想从采样数据中找出最长的一段序列,使得这段序列对应的星球表面是平原。如果一段序列的最大值和最小值之差不超过k,我们就可以认为是平原。 Input
输入包含多组数据。每组数据第一行包含两个整数n和k,含义如上所述。 (1≤n≤20000, 0≤k≤100) 第二行包含n个非负整数,表示采样数据,不超过109 输入以n=k=0结束,不要处理这组数据。 Output
对每组输入数据输出最长的序列长度,使得其对应的星球表面是平原。
Sample Input
4 0 0 0 1 0 3 1 1 2 3 3 2 0 1 2 0 0 Sample Output
3 2 3 |