만드는 중입니다

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

휴식과 넷플릭스

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

요약
주어진 건너뛰기 값을 1초에서 반복해서 더해 도달할 수 있는 2부터 n까지의 서로 다른 위치 개수를 구합니다.
난이도

보통10점 중 6점

유형
정수론, 수학, 최단 경로
정답자
아직 제출이 없습니다

문제

격리 중이라 밖에 나갈 수 없습니다. 밖에 나가는 것은 매우 위험합니다. 강의 자료는 이미 모두 꼼꼼히 공부했기 때문에 지루해질 위험이 있습니다. 넷플릭스가 그 지루함에서 구해 줄 수 있습니다. 다만 보고 싶은 영화나 드라마의 일부는 건너뛰고 싶습니다. 그래서 각각 정해진 초만큼 건너뛰는 버튼을 여러 개 설정해 두었습니다. 영화를 재생할 때마다 이 버튼을 누르다 보면 영화 재생을 잊기도 합니다. 영화를 한 초도 재생하지 않고 버튼을 연속으로 눌러 도달할 수 있는 서로 다른 시점은 몇 개입니까?

입력

입력은 두 줄로 주어집니다.\n\n첫째 줄에는 두 정수 nn과 mm이 주어집니다(1≤n≤1091 \leq n \leq 10^9, 1≤m≤1031 \leq m \leq 10^3). nn은 영화의 길이(초)이고, mm은 건너뛰기 버튼의 개수입니다.\n\n둘째 줄에는 서로 다른 정수 ii가 mm개 주어집니다(1≤i≤1031 \leq i \leq 10^3). 각 정수는 버튼 하나가 건너뛰는 초의 수입니다.\n\n버튼을 누르는 데 걸리는 시간은 무시합니다. 연속한 두 번의 클릭 사이에 쉬는 시간은 없으며, 1초 시점에서 클릭을 시작합니다. 각 버튼은 여러 번 눌러도 되며, 최소 한 번은 버튼을 누릅니다.

출력

연속해서 한 번 이상 건너뛰기 버튼을 눌러 도달할 수 있는, 영화의 서로 다른 시점(초가 시작되는 시각)의 개수를 출력합니다. 영화의 첫 초 시점은 세지 않습니다. 처음부터 보는 것은 너무 지루하기 때문입니다.

예제3

  1. 예제 1

    입력
    10 2
    2 3
    
    예상 출력
    8
    
  2. 예제 2

    입력
    10 1
    1
    
    예상 출력
    9
    
  3. 예제 3

    입력
    20 3
    5 7 11
    
    예상 출력
    11