수열과 쿼리 36
시간 제한1초메모리 제한512 MB
구간 [l,r] 안에서 최댓값과 최솟값의 차가 y-x인 부분 구간 [x,y]의 개수를 세는 쿼리에 답한다.
문제
길이가 N인 수열 A1, A2, ..., AN이 주어진다. 수열의 모든 수는 1 이상 N 이하이며 서로 다르다. 이때, 다음 쿼리를 수행하는 프로그램을 작성하시오.
l r: l ≤ x ≤ y ≤ r 이며, 를 만족하는 정수 쌍의 개수를 출력하라.
입력
첫째 줄에 수열의 크기 N이 주어진다. (1 ≤ N ≤ 120,000)
둘째 줄에는 A1, A2, ..., AN이 주어진다. 모든 수는 서로 다르다. (1 ≤ Ai ≤ N)
셋째 줄에는 쿼리의 개수 M이 주어진다. (1 ≤ M ≤ 120,000)
넷째 줄부터 M개의 줄에는 쿼리가 한 줄에 하나씩 주어진다. (1 ≤ l ≤ r ≤ N)
출력
쿼리의 결과를 한 줄에 하나씩 출력한다.