Double Deck

면접 대비

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

요약
각 deck에 1부터 N까지의 카드가 K장씩 있다. 두 deck의 맨 위 카드가 같으면 두 장을 가져가 1점을 얻고, 다르면 한 장을 버린다. 얻을 수 있는 최대 점수를 구한다.
난이도

보통10점 중 5점

유형
동적 계획법, 그리디, 투 포인터
정답자
아직 제출이 없습니다

문제

You are playing a new card game. In the game you have two decks of cards each consisting of N⋅KN \cdot K cards labeled with an integer from 11 to NN, inclusive. Also, each type of card appears precisely KK times in each deck.

The rules of the game are simple. You shuffle both decks and place them face up in front of you, so at each point in time you see the top card in each deck. If the top cards are the same you can take them both and get one point. Otherwise you must discard either card. Your goal is to get as many points as possible.

You have just finished playing a round of this game and you want to know what the maximum score was, knowing the layout of both decks.

입력

The first line of the input contains two integers NN and KK (1≤N≤104,1≤K≤151 \leq N \leq 10^4, 1 \leq K \leq 15). The second and third line of the input each contain N⋅KN \cdot K integers x_ix\_i (1≤x_i≤N1 \leq x\_i \leq N), describing the layout of the decks. The first number x_1x\_1 is the topmost card in the deck, x_2x\_2 is the second, and so on.

No integer in the second line and third line is repeated more than KK times per line.

출력

Print a single integer, the maximum possible score.

예제2

  1. 예제 1

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

    입력
    5 3
    2 3 4 5 3 5 2 2 4 3 5 1 1 1 4
    5 2 3 2 3 1 4 5 1 4 5 1 4 3 2
    
    예상 출력
    8