만드는 중입니다

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

무지개 그릇 구간

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

요약
원형으로 놓인 n개의 그릇과 색깔별 공 개수 c_i가 주어질 때, 각 색을 연속된 구간에 놓아 모든 색이 하나씩 든 극대 구간의 개수를 최대로 만듭니다.
난이도

보통10점 중 7점

유형
수학, 그리디, 정렬
정답자
아직 제출이 없습니다

문제

원형으로 배치된 그릇 nn개가 있다.

여러 가지 색의 공이 많이 있다. 색은 mm가지이며, ii번째 색의 공은 c_ic\_i개 있다.

모든 공을 그릇에 나누어 담아야 한다. 각 색마다 연속된 그릇 c_ic\_i개를 골라, 그 범위의 그릇마다 해당 색의 공을 하나씩 넣는다. 연속된 범위는 원형으로 이어진 연속된 그릇들의 집합이다. 서로 다른 색의 범위는 겹쳐도 된다.

그릇 하나에 모든 색의 공이 정확히 하나씩 들어 있으면 그 그릇을 무지개 그릇이라고 한다. 무지개 그릇 구간은 무지개 그릇이 연속으로 이어진 구간 중에서, 다른 무지개 그릇을 덧붙여 더 늘릴 수 없는 구간이다.

공을 배치하여 무지개 그릇 구간의 개수를 최대로 만들어라. nn과 색별 공의 개수가 주어질 때, 만들 수 있는 무지개 그릇 구간의 최대 개수를 구하라.

입력

첫째 줄에 두 정수 nn (2≤n≤109)(2 \le n \le 10^9)과 mm (1≤m≤105)(1 \le m \le 10^5)이 주어진다. 다음 mm개 줄에는 정수 c_ic\_i (1≤c_i≤n)(1 \le c\_i \le n)가 한 줄에 하나씩 주어진다.

출력

만들 수 있는 무지개 그릇 구간의 최대 개수를 한 줄에 출력한다.

예제2

  1. 예제 1

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

    입력
    10 11
    3
    1
    4
    1
    5
    9
    2
    6
    5
    3
    5
    
    예상 출력
    1