만드는 중입니다

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

같은 색

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

요약
직선 위에 색이 칠해진 점 n개가 주어질 때, 나머지 각 점의 가장 가까운 선택 점이 같은 색이 되도록 하는 가장 작은 비어 있지 않은 부분집합 C의 크기를 구합니다.
난이도

어려움10점 중 8점

유형
동적 계획법, 세그먼트 트리, 정렬
정답자
아직 제출이 없습니다

문제

직선 위에 서로 다른 점 nn개가 있고, 각 점은 mm개의 색 중 하나로 칠해져 있다. 단, m≤nm \le n이다. 점들의 집합을 SS라 하자. 다음 성질을 만족하는 공집합이 아닌 부분집합 C⊆SC \subseteq S를 고른다.

S−CS - C에 속한 모든 점 pp에 대해, CC의 점 중 pp에 가장 가까운 점은 pp와 같은 색이다. 가장 가까운 점이 여럿이면 그중 하나만 pp와 색이 같으면 된다.

예를 들어 그림 G.1에는 두 가지 색으로 칠해진 점 여섯 개가 있다. 4번과 5번 점은 빨간색이고 나머지는 파란색이다. 집합 {2, 4, 6}은 이 성질을 만족한다. 반면 {2, 4}는 만족하지 않는다. {2, 4}에서 6번 점에 가장 가까운 점은 4번인데, 색이 6번과 다르기 때문이다. {2, 4, 6}은 이 성질을 만족하는 가장 작은 집합이다.

그림 G.1: 직선 위에 있는 색칠된 점 여섯 개

입력

첫 줄에 두 정수 mm과 nn이 주어진다(1≤m≤n≤100,0001 \le m \le n \le 100{,}000). mm은 색의 개수이고 nn은 점의 개수이다. 점은 왼쪽에서 오른쪽으로 1번부터 nn번까지 번호가 붙고, 색은 1번부터 mm번까지 번호가 붙는다.

둘째 줄에는 오름차순으로 정렬된 정수 nn개가 주어진다. ii번째 수는 ii번 점의 좌표이다. 각 좌표 xx는 0≤x≤1090 \le x \le 10^9을 만족하며, 모든 좌표는 서로 다르다.

셋째 줄에는 정수 nn개가 주어진다. ii번째 수는 ii번 점의 색으로, 1 이상 mm 이하이다.

출력

위 성질을 만족하는 공집합이 아닌 부분집합 C⊆SC \subseteq S의 최소 원소 개수를 한 줄에 출력한다.

예제2

  1. 예제 1

    입력
    2 6
    0 3 4 7 8 11
    1 1 1 2 2 1
    
    예상 출력
    3
    
  2. 예제 2

    입력
    2 6
    0 3 4 7 8 11
    1 2 1 2 2 1
    
    예상 출력
    5