문제
N개의 산들이 존재하고 산들의 바닥은 수평선 위에 놓여있다.
산들에는 왼쪽에서 오른쪽으로 0부터 N-1의 번호가 붙어있다.
산 i의 높이는 Hi이다 (0 ≤ i ≤ N - 1).
각 산의 꼭대기에 정확히 한 사람이 산다.
당신은 Q개의 모임들을 개최할 것이다.
여기서 모임들은 0부터 Q-1로 나타낸다.
모임 j (0 ≤ j ≤ Q-1)에는 산 번호 Lj 이상 Rj 이하의 산들에 살고 있는 모든 사람들이 참석해야 한다 (0 ≤ Lj ≤ Rj ≤ N-1).
모임 j에 대해서, 당신은 모임 장소로 산 x를 선택해야 한다 (Lj ≤ x ≤ Rj).
이 선택에 따라 모임 의 비용이 다음과 같이 계산된다:
- 산 y (Lj ≤ y ≤ Rj)에 사는 참석자의 비용은 x와 y를 포함해서 x와 y사이 산들의 최대 높이다.
- 특별히 산 x에 사는 참석자의 비용은 산 x의 높이인 Hx이다.
- 모임의 비용은 모든 참석자들의 비용의 합이다.
각 모임에 대해서, 당신은 그 모임을 개최하는 최소 비용을 찾고 싶다.
각 모임 후에 모든 참석자들은 그들이 사는 산으로 돌아가므로 모임의 비용은 이전 모임들에 영향받지 않음에 주목하자.
입력
1번 줄 : N Q
2번 줄 : H0 H0 ... HN-1
3번 ~ Q+2번 줄 : Lj Rj
- 1 ≤ N ≤ 750 000
- 1 ≤ Q ≤ 750 000
- 1 ≤ Hi ≤ 1 000 000 000 (0 ≤ i ≤ N - 1)
- 0 ≤ Lj ≤ Rj ≤ N - 1 (0 ≤ j ≤ Q - 1)
- (Lj, Rj) ≠ (Lk, Rk) (0 ≤ j < k ≤ Q - 1)
출력
각 줄에 Cj를 출력하여라. Cj (0 ≤ j ≤ Q - 1)의 값은 모임 j를 개최하는 가능한 최소 비용이다.
예제1
42
2 4 3 5
0 2
1 3
10
12