void maxSlidingWindow(int A[], int n, int w, int B[]) {
		  LinkedList<Integer> Q = new LinkedList<Integer>();
		  for (int i = 0; i < w; i++) {
		    while (!Q.isEmpty() && A[i] >= A[Q.getLast()])
		      Q.removeLast();
		    Q.addLast(i);
		  }
		  for (int i = w; i < n; i++) {
		    B[i-w] = A[Q.getFirst()];
		    while (!Q.isEmpty() && A[i] >= A[Q.getLast()])
		      Q.removeLast();
		    while (!Q.isEmpty() && Q.getFirst() <= i-w)
		      Q.removeFirst();
		    Q.addLast(i);
		  }
		  B[n-w] = A[Q.getFirst()];
		}