记录编号 132542 评测结果 AAAAAAAAAAAAAAAAAAAAAA
题目名称 [USACO Open12] 奶牛排队 最终得分 100
用户昵称 Gravatar乌龙猹 是否通过 通过
代码语言 C++ 运行时间 0.018 s
提交时间 2014-10-26 07:21:51 内存使用 1.25 MiB
显示代码纯文本
#include<cstdio>
using namespace std;

int n;
int maxx;
int a[1001];
bool f[1000001];

void del(int);

int main()
{
    freopen("cowrow.in","r",stdin);
    freopen("cowrow.out","w",stdout);
	scanf("%d",&n);
	for(int i=1;i<=n;i++) scanf("%d",&a[i]);
	for(int i=1;i<=n;i++) del(i);
	printf("%d\n",maxx);
    return 0;
}
void del(int k)//删除a[k]这种数;
{
	if(f[a[k]]) return;//如果之前已经被删除过,直接返回;
	f[a[k]]=1;

	int i=1;
	Begin:;
	while(a[i]==a[k]) i++;//如果遇到被删除的数,跳过;
	int Ans=1,temp=a[i];
	i++;
    while(a[i]==a[k]) i++;
	while(i<=n && temp==a[i])
	{
		Ans++;//计算连续最长长度;
		i++;
		while(a[i]==a[k]) i++;
	}
	if(Ans>maxx) maxx=Ans;
	if(i>n) goto END;
	else goto Begin;
	END:;
}