페이지가 로드되지 않나요? 여기를 눌러보면 고쳐질 수도 있어요.
Placeholder

#4662

Meetings 6초 768MB

문제

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

2435
02
13
출력
10

12

출처

IOI 2018 day2 3

역링크