매드 맥스

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

요약
서로 다른 음이 아닌 정수 N개로 이루어진 수열 A에서 임의의 부분수열 B를 골라 med(B) + mex(B)의 최댓값을 구한다.
난이도

어려움10점 중 8점

유형
그리디, 정렬, 수학, 구현
정답자
아직 제출이 없습니다

문제

서로 다른 음이 아닌 정수 NN개로 이루어진 수열 AA가 주어진다.

AA의 비어 있지 않은 모든 부분수열[1] BB에 대해서, med\mathrm{med}[2](B)+mex(B) +\mathrm{mex}[3](B)(B)의 최댓값을 출력하라.


1BB가 AA의 부분수열이라는 것은, 수열 AA에서 00개 이상의 원소를 지웠을 때 수열 BB가 될 수 있음을 의미한다. 이때, BB가 AA에서 연속할 필요는 없다. 예를 들어, A=\[2,3,0,4]A=\[2,3,0,4]라고 하면 \[3,4]\[3,4]와 \[2,3,0,4]\[2,3,0,4]는 AA의 부분수열이지만, \[3,2]\[3,2]와 \[2,1,4]\[2,1,4]는 AA의 부분수열이 아니다.

2med(X)\mathrm{med}(X)는 수열 XX의 중앙값(median)으로, XX에서 (⌊∣X∣2⌋+1)\left( \lfloor\frac{|X|}{2}\rfloor +1 \right)번째로 작은 원소를 의미한다. 예를 들어, med(\[5,2,6])=5\mathrm{med}(\[5,2,6]) =5, med(\[0,3,2,7])=3\mathrm{med}(\[0,3,2,7]) =3이다. XX의 길이가 짝수일 때 중앙값의 통상적인 정의와 다를 수 있음에 유의하라.

3mex(X)\mathrm{mex}(X)는 수열 XX에 포함되지 않는 가장 작은 음이 아닌 정수(minimum excluded value)를 의미한다. 예를 들어, \[1,2]\[1,2]에는 00이 포함되어 있지 않으므로 mex(\[1,2])=0\mathrm{mex}(\[1,2]) =0이고, \[3,1,0,4]\[3,1,0,4]에는 00과 11이 포함되어 있지만 22는 포함되어 있지 않으므로 mex(\[3,1,0,4])=2\mathrm{mex}(\[3,1,0,4]) =2이다.

입력

첫째 줄에 수열의 길이 NN이 주어진다. (2≤N≤200,0002\leq N\leq 200\\, 000)

둘째 줄에 NN개의 정수 A_1,A_2,⋯ ,A_NA\_{1},A\_{2},\cdots ,A\_{N}이 공백으로 구분되어 주어진다. (0≤A_i≤1090\leq A\_i\leq{10}^9)

모든 A_iA\_i의 값은 서로 다르다.

출력

문제의 정답을 나타내는 하나의 정수를 출력한다.

힌트

⌊∣X∣2⌋\lfloor\frac{|X|}{2}\rfloor는 수열 XX의 길이를 22로 나눈 몫과 같다.

예제3

  1. 예제 1

    입력
    7
    3 6 2 9 5 1 8
    
    예상 출력
    9
    
  2. 예제 2

    입력
    4
    1 0 2 4
    
    예상 출력
    5
    
  3. 예제 3

    입력
    4
    0 5 1 10
    
    예상 출력
    11