002 - 最長の階段
時間制限 1 秒 / メモリ制限 64 MB / 得点 100 / x 3 /
問題
1 から n までの整数がそれぞれ 1 つずつ書かれた n 枚のカードと,1 枚の白紙の カードがある.これら n + 1 枚のカードの内,k 枚のカードが与えられる.ただし, 1 ≤ k ≤ n である.白紙のカードには 1 から n までの整数を 1 つ書くことができ る.与えられたカードだけで,できるだけ長い連続した整数列を作りたい.
与えられるカードが入力されたときに, 与えられたカードから作ることができる連 続した整数列の最大長を出力するプログラムを作成せよ.
例1
n = 7, k = 5 とする.6, 2, 4, 7, 1 のカードが与えられたとき,このカードを使っ て作れる連続した整数列のうち最長のものは 1, 2 であり,その長さは 2 である.
例2
n = 7, k = 5 とする.6, 2, 4, 7 と白紙のカードが与えられたとき,このカードを 使って作れる連続した整数列のうち最長のものは,白紙のカードに 5 を書くことに よってできる 4, 5, 6, 7 であり,その長さは 4 である.
入力
1 行目には,2 つの整数 n (1 ≤ n ≤ 100000) と k (1 ≤ k ≤ n) がこの順で 1 つの 空白を区切りとして書かれている.続く k 行には整数が 1 つずつ書かれており,与 えられる k 枚のカードに書かれている整数を表している.白紙のカードは 0 で表さ れる.
採点用データのうち, 配点の 40% 分は 1 ≤ n ≤ 1000, 1 ≤ k ≤ 500 を, 配点の 20% 分は 1 ≤ n ≤ 60000, 1 ≤ k ≤ 50000 を. 配点の 40% 分は 1 ≤ n ≤ 100000, 1 ≤ k ≤ 100000 を満たす.
出力
出力は 1 行だけからなり,その 1 行は出力する整数 1 つだけを含む.
入出力の例
入力例
7 5 6 2 4 7 1
出力例
2