만드는 중입니다

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

수열

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

요약
길이 N의 배열에서 모든 구간의 중앙값 집합에 속한 값이 등장하는 횟수의 최댓값을 구합니다.
난이도

어려움10점 중 9점

유형
배열, 분할 정복, 누적 합
정답자
아직 제출이 없습니다

문제

APIO의 세계에 Alice라는 똑똑하고 호기심 많은 학생이 살았다. 그녀는 길이가 NN인 수열 A\[0]A\[0], A\[1]A\[1], ⋯\cdots, A\[N−1]A\[N - 1]을 발견했다. 그녀가 알아낸 내용 일부를 여러분과 나누려고 한다. 먼저 몇 가지를 정의한다.

  • W(l,r,x)W(l, r,x)를 ∑_i=lrI\[A\[i]=x]\displaystyle\sum\_{i=l}^{r}{\mathrm{I}\[A\[i] = x]}로 정의한다. 이는 A\[l]⋯A\[r]A\[l] \cdots A\[r]에서 xx가 나타나는 횟수이다.
  • 비어 있지 않은 정수 수열 B\[0]B\[0] B\[1]B\[1] ⋯\cdots B\[k−1]B\[k - 1]의 중앙값 집합 S(B\[0],B\[1],⋯ ,B\[k−1])S(\\{B\[0], B\[1], \cdots ,B\[k - 1]\\})은 다음 두 단계로 구한다.
    • 먼저 B\[0],B\[1],⋯ ,B\[k−1]B\[0], B\[1], \cdots ,B\[k - 1]을 오름차순으로 정렬해 C\[0],C\[1],⋯ ,C\[k−1]C\[0], C\[1], \cdots ,C\[k - 1]을 얻는다.
    • 그다음 S=C\[⌊k−12⌋],C\[⌈k−12⌉]S = \\{C\[\lfloor \frac{k-1}{2} \rfloor ], C\[\lceil \frac{k-1}{2} \rceil ] \\}이다.
    • 예를 들어 S(6,3,5,4,6,2,3)=4S(\\{6, 3, 5, 4, 6, 2, 3\\}) = \\{4\\}, S(4,2,3,1)=2,3S(\\{4, 2, 3, 1\\}) = \\{2, 3\\}, S(5,4,2,4)=4S(\\{5, 4, 2, 4\\}) = \\{4\\}이다.

Alice는 모든 0≤l≤r≤N−10 \le l \le r \le N - 1에 대해 max⁡_x∈S(l,r)W(l,r,x)\displaystyle\max\_{x \in S(l,r)}{W(l, r,x)}의 최댓값을 구하고자 한다. 여기서 S(l,r)S(l,r)은 S(A\[l],⋯ ,A\[r])S(A\[l], \cdots ,A\[r])이다. Alice는 이미 답을 구했고, 이를 검증할 프로그램을 작성해 달라고 요청한다.

제한

  • 1≤N≤5×1051 \le N \le 5 \times 10^5
  • 1≤A\[i]≤N1 \le A\[i] \le N

예제1

  1. 예제 1

    입력
    1
    1
    
    예상 출력
    1