블록

아직 제출이 없습니다시간 제한3초메모리 제한512 MB

문제

바이티는 생일 선물로 나무 블록 한 세트를 받았다. 블록은 모두 크기가 같은 단위 정육면체여서 서로 구별할 수 없다. 바이티는 블록을 위로 쌓아 더미를 만들고, 이 더미들을 한 줄로 나란히 세워 놓는다. 더미의 높이는 서로 다를 수 있다.

바이티의 아버지 바이테아사르는 다음과 같은 퍼즐을 낸다. 정수 kk를 하나 정한 뒤, 높이가 kk 이상인 더미가 연속으로 최대한 많이 이어지도록 블록을 재배치하라는 것이다.

단, 블록은 다음 규칙으로만 옮길 수 있다. 현재 높이가 kk보다 엄격하게 큰 더미에서 맨 위 블록 하나를 집어, 바로 양옆에 있는 더미 중 하나의 맨 위에 올려놓는다. 새로운 더미를 만들 수는 없고, 이미 있는 더미들 사이에서만 블록을 옮길 수 있다.

더미는 모두 nn개이고, ii번째 더미의 처음 높이는 xix_i이다. 바이테아사르는 서로 독립적인 질문을 mm개 던진다. 각 kk 값에 대해, 허용된 이동으로 얻을 수 있는 '높이가 kk 이상인 연속한 더미'의 최대 개수를 구하라. 모든 질문은 처음 배치에서 새로 시작한다.

입력

첫째 줄에 두 정수 nnmm이 주어진다 (1n1061 \le n \le 10^6, 1m501 \le m \le 50). 각각 더미의 개수와 바이테아사르의 질문 개수이다. 더미는 11번부터 nn번까지 번호가 매겨져 있다.

둘째 줄에 nn개의 정수 x1,x2,,xnx_1, x_2, \dots, x_n이 주어진다 (1xi1091 \le x_i \le 10^9). xix_iii번째 더미의 높이이다.

셋째 줄에 mm개의 정수 k1,k2,,kmk_1, k_2, \dots, k_m이 주어진다 (1kj1091 \le k_j \le 10^9). 답을 구해야 하는 매개변수 kk의 값들이다.

출력

mm개의 정수를 공백 하나로 구분하여 출력한다. jj번째 정수는 매개변수 kjk_j에 대한 답, 즉 처음 배치에서 허용된 이동으로 얻을 수 있는 '높이가 kjk_j 이상인 연속한 더미'의 최대 개수이다.

힌트