만드는 중입니다

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

알파빌과 베타빌

면접 대비

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

요약
N개의 대기 번호와 M명의 친구 번호가 주어질 때, 친구들을 목록 앞쪽으로 모두 옮기는 데 필요한 최소 교환 횟수를 구합니다.
난이도

쉬움10점 중 3점

유형
배열, 그리디
정답자
아직 제출이 없습니다

문제

민규와 친구들은 바로 옆에 붙어 있는 두 빌라, 알파빌과 베타빌에 살고 있다. 두 빌라 중 알파빌은 싼값에 좋은 빌라라서 인기가 많아 입주하려는 사람들이 줄을 선다. 민규의 친구들도 대기 번호를 받아 알파빌의 대기 명단에 적혀 있다. 알파빌 입주에 실패한 친구들은 어쩔 수 없이 조금 더 비싼 베타빌에 들어가게 된다. 이를 안타까워한 민규는 집주인 몰래 대기 명단을 바꿔서 더 많은 친구를 알파빌에 입주시키려고 한다.

대기 명단에는 입주하려는 사람들의 대기 번호가 입주하는 순서대로 왼쪽에서 오른쪽으로 적혀 있으며, 대기 번호는 11번부터 NN번까지의 서로 다른 정수이다.

민규는 명단을 한 번 바꿀 때 번호 두 개를 골라 서로 위치를 교환할 수 있다. 명단을 너무 많이 바꾸면 집주인이 눈치챌 수 있으므로, 민규는 명단을 가능한 한 적게 바꾸려고 한다. 민규의 모든 친구가 친구가 아닌 사람들보다 먼저 입주하도록 명단을 바꿀 때, 최소 교환 횟수를 출력하자.

입력

첫 번째 줄에 대기 명단에 적힌 수의 개수 NN과 민규 친구의 수 MM이 공백으로 구분되어 주어진다. (1≤M≤N≤1 0001 \le M \le N \le 1\,000)

두 번째 줄에 대기 명단에 적힌 NN개의 정수가 주어진다.

세 번째 줄에 민규 친구의 대기 번호를 나타내는 MM개의 정수가 주어진다.

출력

모든 친구들이 먼저 입주할 수 있도록 명단을 바꾸는 최소 횟수를 출력한다.

예제2

  1. 예제 1

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

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