만드는 중입니다

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

배열 전체 탐색하기

시간 제한1초메모리 제한512 MB

요약
배열과 세 가지 유형의 질의가 주어질 때, 각 질의에 해당하는 원소 개수를 순서대로 출력합니다.
난이도

쉬움10점 중 3점

유형
정렬, 이분 탐색
정답자
아직 제출이 없습니다

문제

크기가 nn인 정수 배열 AA가 주어진다. 배열 AA의 원소는 A[0],A[1],…,A[n−1]A[0], A[1], \ldots, A[n-1]이다. 배열 AA에는 같은 값을 갖는 원소가 여러 개 존재할 수 있다. 배열 BB에는 AA에 대한 mm개의 질의가 저장되어 있다. 질의는 세 가지 유형으로 구분된다. 첫 번째가 유형 1, 두 번째가 유형 2, 세 번째가 유형 3이다.

  • 1 kk: 배열 AA의 원소 중 kk보다 크거나 같은 원소의 개수를 출력한다.
  • 2 kk: 배열 AA의 원소 중 kk보다 큰 원소의 개수를 출력한다.
  • 3 ii jj: 배열 AA의 원소 중 ii보다 크거나 같고 jj보다 작거나 같은 원소의 개수를 출력한다.

배열 BB에 저장된 첫 번째 질의부터 mm번째 질의까지 순서대로 처리하면서 질의 결과를 출력한다.

입력

첫 번째 줄에 nn과 mm이 공백을 사이에 두고 주어진다.

두 번째 줄에 배열 AA의 원소 A[0],A[1],…,A[n−1]A[0], A[1], \ldots, A[n-1]이 공백을 사이에 두고 순서대로 주어진다.

세 번째 줄부터 mm개의 줄에 걸쳐 배열 BB에 저장된 mm개의 질의가 순서대로 주어진다. 한 줄에 하나의 질의를 나타내는 정수가 공백을 사이에 두고 주어진다.

출력

질의 결과를 첫 번째 줄부터 순서대로 한 줄씩 출력한다.

제한

  • 1≤n,m≤1000001 \le n, m \le 100000
  • 1≤A[i]≤10181 \le A[i] \le 10^{18} (0≤i≤n−10 \le i \le n-1)
  • 1≤i≤j≤10181 \le i \le j \le 10^{18}
  • 1≤k≤10181 \le k \le 10^{18}

예제2

  1. 예제 1

    입력
    8 15
    1 3 5 7 9 11 13 15
    1 2
    1 4
    1 6
    1 8
    1 20
    2 2
    2 4
    2 6
    2 8
    2 20
    3 2 10
    3 4 4
    3 6 13
    3 8 13
    3 20 30
    
    예상 출력
    7
    6
    5
    4
    0
    7
    6
    5
    4
    0
    4
    0
    4
    3
    0
    
  2. 예제 2

    입력
    8 15
    2 2 5 5 5 10 15 20
    1 1
    1 2
    1 3
    1 5
    1 30
    2 1
    2 2
    2 3
    2 5
    2 30
    3 1 5
    3 2 5
    3 3 13
    3 5 10
    3 30 30
    
    예상 출력
    8
    8
    6
    6
    0
    8
    6
    6
    3
    0
    5
    5
    4
    4
    0