找出所有能消除球的插入方法
分别计算消除个数 输出结果最大的一种
如果没有满足情况输出零 否则输出max-1
#include<bits/stdc++.h>
using namespace std;
int c[120],a[120];
int n,k,x;
int main()
{
scanf("%d%d%d",&n,&k,&x);
for(int i=1;i<=n;i++)
scanf("%d",&c[i]);
int max=0;
for(int i=2;i<=n;i++)
{
if(c[i]==x&&c[i-1]==x)
{
for(int j=1;j<=i-1;j++)
a[j]=c[j];
a[i]=x;
for(int j=i+1;j<=n+1;j++)
a[j]=c[j-1];
}
int sum=0;
int k1=i,k2=i;
while(k1!=0&&k2!=0)
{
for(int j=k1-1;j>=0;j--)
{
if(a[j]!=a[k1])
{
k1=j;
break;
}
}
for(int j=k2+1;j<=n+2;j++)
{
if(a[j]!=a[k2])
{
k2=j;
break;
}
}
if(a[k2-1]==a[k1+1]&&k2-k1-sum-1>=3)
sum=k2-k1-1;
else
break;
}
if(sum>max)
max=sum;
}
if(max==0)
printf("%d\n",max);
else
printf("%d\n",max-1);
return 0;
}