먼 카드

면접 대비

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

요약
1부터 N까지의 자연수가 각각 정확히 두 번씩 나열된 2N장의 카드에서, 어떤 값의 두 카드 사이에 놓인 카드 수의 최댓값을 구한다.
난이도

보통10점 중 4점

유형
배열, 구현, 해시맵, 완전 탐색
정답자
아직 제출이 없습니다

문제

자연수가 적힌 카드 2N2N장이 있다. 이 카드들은 일렬로 왼쪽에서 오른쪽으로 나열되어 있다.

각 카드에는 11 이상 NN 이하의 자연수가 정확히 하나씩 적혀 있다. 왼쪽에서 ii (1≤i≤2N1 ≤ i ≤ 2N)번째에 놓인 카드에 적힌 자연수를 X_iX\_i 라고 하자.

1≤k≤N1 ≤ k ≤ N인 각 kk에 대해, kk가 적힌 카드는 정확히 두 장이다. 즉, 11부터 NN까지의 각 자연수는 정확히 두 장의 카드에 적혀 있다.

정올이는 자연수 kk가 적힌 두 카드 사이에 놓인 카드의 개수를 "kk 사이 카드 수"라고 부르기로 했다.

예를 들어, 아래 그림과 같이 카드가 놓여있다고 생각해 보자. 아래 그림에서 N=4N = 4이고, X_1=1X\_1 = 1, X_2=2X\_2 = 2, X_3=2X\_3 = 2, X_4=4X\_4 = 4, X_5=3X\_5 = 3, X_6=1X\_6 = 1, X_7=3X\_7 = 3, X_8=4X\_8 = 4이다.

  • 11이 적힌 두 카드 사이에는 차례로 22, 22, 44, 33이 적힌 카드가 있으므로, "11 사이 카드 수"는 44이다.
  • 22가 적힌 두 카드 사이에는 아무 카드도 없으므로, "22 사이 카드 수"는 00이다.
  • 33이 적힌 두 카드 사이에는 11이 적힌 카드만 있으므로, "33 사이 카드 수"는 11이다.
  • 44가 적힌 두 카드 사이에는 차례로 33, 11, 33이 적힌 카드가 있으므로, "44 사이 카드 수"는 33이다.

위의 사례에서 "kk 사이 카드 수"들 중 가장 큰 것은 "11 사이 카드 수"로, 그 값은 44이다.

정올이는 11부터 NN까지의 모든 자연수 kk에 대한 "kk 사이 카드 수" 중 가장 큰 값을 구하고 싶다.

카드가 나열된 순서대로 카드에 적힌 자연수가 주어질 때, 모든 "kk 사이 카드 수" 중 가장 큰 값을 구하는 프로그램을 작성하라.

입력

첫 번째 줄에 정수 NN이 주어진다.

두 번째 줄에 2N2N개의 정수 X_1,X_2,⋯ ,X_2NX\_1 , X\_2 , \cdots, X\_{2N}이 공백을 사이에 두고 주어진다.

출력

첫 번째 줄에 답을 출력한다.

제한

  • 주어지는 모든 수는 정수이다.
  • 1≤N≤2,0001 ≤ N ≤ 2\\, 000
  • 1≤i≤2N1 ≤ i ≤ 2N인 각 ii에 대해, 1≤X_i≤N1 ≤ X\_i ≤ N
  • 1≤k≤N1 ≤ k ≤ N인 각 kk에 대해, kk가 적힌 카드는 정확히 두 장이다. 즉, X_1,X_2,⋯ ,X_2NX\_1 , X\_2 , \cdots, X\_{2N} 중에서 kk가 정확히 두 번 나타난다.

예제2

  1. 예제 1

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

    입력
    4
    1 2 3 4 4 3 2 1
    
    예상 출력
    6