比赛 20121023 评测结果 AAATWTTTTA
题目名称 奶牛排队 最终得分 40
用户昵称 Truth.Cirno 运行时间 5.132 s
代码语言 C++ 内存使用 0.70 MiB
提交时间 2012-10-23 21:46:38
显示代码纯文本
#include <iostream>
#include <cstdio>
#include <cstdlib>
using namespace std;

int a[100010];

int main(void)
{
	freopen("tahort.in","r",stdin);
	freopen("tahort.out","w",stdout);
	int i,j,n,pos,maxlen=0,minnum,maxnum;
	cin>>n;
	for (i=1;i<=n;i++)
		cin>>a[i];
	for (i=1;i<n;i++)
	{
		pos=i+maxlen;
		minnum=200000000;
		maxnum=-200000000;
		for (j=i+1;j<pos;j++)
		{
			if (minnum>a[j])
				minnum=a[j];
			if (maxnum<a[j])
				maxnum=a[j];
		}
		for (j=pos;j<=n;j++)
		{
			if (j==i)
			{
				j++;
				if (j>n)
					break;
			}
			if (a[j]>a[i]&&((minnum>a[i]/*&&maxnum<a[j]*/)||j-i==1))
			{
				if (maxnum<a[j])
					maxlen=j-i+1;
				if (minnum>a[j])
					minnum=a[j];
				if (maxnum<a[j])
					maxnum=a[j];
			}
			else
				break;
		}
	}
	cout<<maxlen<<endl;
	return(0);
}