MEX들의 MEX

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

요약
수열을 비어 있지 않은 연속 부분 수열로 나눌 때, 각 부분 수열의 MEX들로 이루어진 수열의 MEX가 최대가 되도록 하는 값을 구한다.
난이도

어려움10점 중 8점

유형
동적 계획법, 그리디, 배열, 수학
정답자
아직 제출이 없습니다

문제

KK개의 수열 S_1,S_2,…S_KS\_1, S\_2, \ldots S\_K에 대해 이의 MEX들의 MEX를 mex(\[mex(S_1),mex(S_2),…,mex(S_K)])\textrm{mex}(\[ \textrm{mex}(S\_1), \textrm{mex}(S\_2), \ldots, \textrm{mex}(S\_K)])로 정의한다.

이때 mex(s)\textrm{mex}(s)는 수열 ss에 포함되지 않은 가장 작은 음이 아닌 정수이다.

길이 NN의 수열 AA가 주어질 때 AA의 모든 원소가 정확히 하나의 연속 부분 수열에 속하도록 임의로 수열을 여러 개의 비어있지 않은 연속 부분 수열 S_1,S_2,…,S_KS\_1, S\_2, \ldots, S\_K으로 나눴을 때, SS의 MEX들의 MEX로 가능한 최댓값을 구하여라.

입력

첫째 줄에 NN이 주어진다. (1≤N≤2501 \le N \le 250)

둘째 줄에 NN개의 정수 A_1,A_2,…,A_NA\_1, A\_2, \ldots, A\_N이 공백으로 구분되어 주어진다. (0≤A_i≤N−10 \leq A\_i \leq N-1)

출력

첫째 줄에 MEX들의 MEX로 가능한 최댓값을 출력한다.

예제1

  1. 예제 1

    입력
    5
    4 1 0 1 0
    
    예상 출력
    3