물 펌프

한 칸에 펌프를 놓고 양쪽에서 물이 모이게 할 때, 가장 많은 물을 빼낼 수 있는 칸을 찾는다.

보통5배열누적 합면접 대비아직 제출이 없습니다시간 제한2초메모리 제한512 MB

문제

도시에 벽 NN개가 서쪽에서 동쪽으로 한 줄로 서 있다. 벽에는 서쪽부터 11번부터 NN번까지 번호가 붙어 있고, ii번 벽의 높이는 hih_i이다. 벽은 물을 통과시키지 않고 두께는 00이며, 높이가 00인 평평한 땅 위에 서 있다.

ii번 벽과 i+1i+1번 벽 사이에는 폭이 11인 공간이 생긴다. 이 공간을 ii번 칸이라고 부르며, 도시에는 칸이 N1N-1개 있다. 물 한 단위는 칸 하나를 깊이 11만큼 채우는 양이므로, 수위가 dd인 칸에는 물이 dd단위 들어 있다.

폭우가 내려 도시가 잠긴다. 물은 수위가 벽 꼭대기보다 높아지면 그 벽을 넘고, 11번 벽의 서쪽이나 NN번 벽의 동쪽으로 넘어간 물은 도시 밖으로 빠져나간다. 비가 그친 뒤 ii번 칸의 수위는 다음과 같다.

min(max1aiha,  maxi+1bNhb)\min\left(\max_{1 \le a \le i} h_a,\; \max_{i+1 \le b \le N} h_b\right)

시장은 칸 하나를 골라 pp번 칸에 펌프를 놓는다. 펌프는 pp번 칸의 물을 전부 퍼내고, 흘러드는 물도 계속 퍼낸다. 어떤 칸의 수위가 이웃 칸과의 사이에 있는 벽보다 높으면 물은 그 벽을 넘어 이웃 칸으로 흐르므로, 떨어져 있는 칸의 물도 펌프까지 올 수 있다. pp번 칸으로 더 이상 물이 흘러들지 않으면 퍼내기가 끝난다.

퍼내는 물이 가장 많아지도록 pp를 고르고, 그때 퍼내는 물의 단위 수를 출력하라. N=1N = 1이면 칸이 없으므로 답은 00이다.

입력

첫 줄에 테스트 케이스의 개수 TT가 주어진다. (1T201 \le T \le 20)

각 테스트 케이스는 두 줄이다. 첫 줄에 벽의 개수 NN이 주어진다. (1N100,0001 \le N \le 100{,}000) 둘째 줄에 벽의 높이 h1,h2,,hNh_1, h_2, \dots, h_N이 공백으로 구분되어 주어진다. hih_iii번 벽의 높이다. (0hi10,0000 \le h_i \le 10{,}000)

출력

TT개의 줄을 출력한다. ii번째 줄에는 ii번째 테스트 케이스의 답, 즉 펌프 하나로 퍼낼 수 있는 물의 최대 단위 수를 출력한다.