아직 만들고 있는 페이지입니다.

이 페이지는 아직 만드는 중입니다. 보이는 내용은 바뀔 수 있습니다.

이웃 감시

면접 대비

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

요약
일렬로 늘어선 집들 중 감시 집이 정해져 있을 때, 두 집 사이의 이동 경로가 감시 집을 하나 이상 지나는 집 쌍의 수를 센다.
난이도

보통10점 중 5점

유형
수학, 조합론, 구현, 누적 합
정답자
아직 제출이 없습니다

문제

Jennifer는 이웃 감시 대장으로 지명되어 자기 집이 있는 거리의 감시 계획을 관리하게 되었다.

Jennifer의 거리에는 도로 한쪽에만 집이 있다. Jennifer는 어떤 집을 이웃 감시 집으로 지정할지 계획을 세웠고, 그 계획이 얼마나 안전한지 알고 싶어 한다. 한 집에서 다른 집(같은 집이어도 된다)으로 가는 산책은 그 경로 위에 이웃 감시 집이 적어도 하나 있으면 안전하다고 한다. 계획의 안전 등급은 거리에서 안전한 산책의 수이다. 산책은 안전하거나 안전하지 않거나 둘 중 하나이므로, 어느 방향으로 가든 두 번 세지 않는다.

그림 G.1: 예시 입력. 안전한 산책의 한 예로 11번 집에서 55번 집으로 가는 경우가 있다.

Jennifer의 계획의 안전 등급을 알려주자.

입력

첫 번째 줄에는 거리의 집 수 NN (1≤N≤200 0001 \leq N \leq 200\,000)과 Jennifer의 계획에서 이웃 감시 집의 수 KK (0≤K≤N0 \leq K \leq N)가 주어진다. 집은 1,…,N1, \dots , N번으로 번호가 붙어 있다.

다음 KK개의 줄은 이웃 감시 집을 나타낸다. 각 줄에는 이웃 감시 집의 집 번호 HH (1≤H≤N1 \leq H \leq N)가 하나씩 주어진다. 집 번호는 엄격히 증가하는 순서로 주어진다.

출력

Jennifer의 계획의 안전 등급을 출력한다.

예제1

  1. 예제 1

    입력
    5 2
    1
    4
    
    예상 출력
    11