만드는 중입니다

아직 만드는 중이라 바뀔 수 있습니다

중간 구간 게임

시간 제한2초메모리 제한1024 MB

요약
각 구간 [L, R]에서 세현이 x를 골라 f(L, x)와 f(x, R) 중 큰 값을 최소로 만든다. f는 구간 안 가운데 원소 인덱스의 합이다.
난이도

보통10점 중 7점

유형
게임 이론, 누적 합, 해시맵, 세그먼트 트리
정답자
아직 제출이 없습니다

문제

서현과 현서는 중간 구간 게임을 하려고 한다.

이 게임은 길이 NN인 배열 A[1…N]A[1 \dots N] 위에서 진행된다. 서현이 먼저 11 이상 NN 이하인 정수를 하나 정한다. 현서는 서현이 정한 수를 알고 나서, 11 이상 NN 이하인 정수를 하나 정한다. 두 사람이 정한 수 중 작은 수를 aa, 큰 수를 bb라고 하면, 점수는 구간 [a,b][a, b]에 속하는 중간 원소 A[k]A[k]의 kk를 모두 더한 값이다.

원소 A[i]A[i]가 중간 원소이려면, 구간 안에 A[j]=A[i]A[j] = A[i]인 j<ij < i가 있고 A[k]=A[i]A[k] = A[i]인 k>ik > i도 있어야 한다. 같은 값을 가진 원소가 A[i]A[i]의 왼쪽과 오른쪽에 모두 구간 안에 있어야 한다는 뜻이다.

서현은 점수를 최대한 작게 하려고 하고, 현서는 점수를 최대한 크게 하려고 한다.

두 사람은 이 게임이 재미있어서, 구간의 제한을 바꿔 가며 TT판을 진행하려고 한다. 각 판의 점수를 구한다.

입력

첫째 줄에 배열의 길이 NN과 게임의 횟수 TT가 주어진다.

둘째 줄에는 배열의 원소 A1,…,ANA_1, \dots, A_N이 공백으로 구분되어 주어진다.

다음 TT개의 줄에는 각 게임의 구간 제한 LiL_i, RiR_i가 주어진다. 두 사람이 정하는 구간은 [Li,Ri][L_i, R_i]에 포함되어야 한다. 즉 두 사람은 이 범위 안에서 수를 정해야 한다.

모든 입력은 정수이다.

출력

TT개의 줄에 걸쳐 각 판의 게임 점수를 출력한다. ii번째 줄에는 ii번째 판의 점수를 출력한다.

제한

  • 1≤N,T≤200,0001 \leq N, T \leq 200,000
  • 1≤Ai≤500,0001 \leq A_i \leq 500,000
  • 1≤Li≤Ri≤N1 \leq L_i \leq R_i \leq N

예제1

  1. 예제 1

    입력
    9 3
    3 2 2 2 1 3 3 2 3
    1 9
    1 8
    2 6
    
    예상 출력
    7
    3
    0