import java.util.LinkedList;
/**
* Created by 糖糖 on 2017/8/2.
*/
public class getnum33 {
public static int getnum(int arr[],int num){
LinkedList<Integer> qmin=new LinkedList<>();
LinkedList<Integer> qmax=new LinkedList<>();
int res=0;
int i=0;
int j=0;
while (i<arr.length){
while (j<arr.length){
while (!qmin.isEmpty() && arr[qmin.peekLast()]>= arr[j])
qmin.pollLast();
qmin.addLast(j);
while (!qmax.isEmpty() && arr[qmax.peekLast()]<=arr[j])
qmax.pollLast();
qmax.addLast(j);
if(arr[qmax.peekFirst()]-arr[qmin.peekFirst()]>num)
break;
j++;
}
if(i==qmin.peekFirst())
qmin.pollFirst();
if(i==qmax.peekFirst())
qmax.pollFirst();
res+=j-i;
i++;
}
return res;
}
public static void main(String args[]){
int arr[]={3,4,5,1,7,8};
System.out.print(getnum(arr,2));
}
}