AOJ 0517 Longest Steps
こんにちは川です。
今回は、ひたすら探索している感じですかね。
探索している際、空白のカードの数の回数だけ、
出てきていない数が出た時
探索終了しないようにしています。
#include <bits/stdc++.h>
using
namespace
std;
int
main() {
int
n,m;
while
(cin>>n>>m,n,m){
bool
num[100000]={};
int
co=0;
for
(
int
i=0,x;i<m;i++){
cin>>x;
if
(x==0)co++;
else
num[x]=1;
}
int
ans=0;
for
(
int
i=1;i<=n;i++){
if
(num[i]){
for
(
int
j=i+1,now=1,fin=co;;j++,now++){
if
(!num[j]&&fin>0)fin--;
else
if
(!num[j]){
ans=max(ans,now);
break
;
}
}
}
}
cout<<ans<<endl;
}