记录编号 79098 评测结果 AAAAAAAAAAA
题目名称 [USACO Feb08] 麻烦的聚餐 最终得分 100
用户昵称 GravatarLauncher 是否通过 通过
代码语言 C++ 运行时间 0.012 s
提交时间 2013-11-05 07:43:38 内存使用 0.66 MiB
显示代码纯文本
#include<iostream>
#include<cstdio>
using namespace std;
int a[30002]={0},f[30002]={0},g[30002]={0},l[4]={0};
int n,a1,a2;
int Max(int x,int y)
{
	if (x<y)
		return y;
	else 
		return x;
}
int Min(int x,int y)
{
	if (x>y)
		return y;
	else 
		return x;
}
int main()
{
	freopen("egroup.in","r",stdin);
	freopen("egroup.out","w",stdout);
	int i,j,k,ans1,ans2;
	cin>>n;
	for (i=1;i<=n;i++)
		cin>>a[i];
	f[n]=1;g[n]=1;
	a1=500000;
	a2=500000;
	k=0;
	for (i=1;i<=n;i++)
	{
		k=0;
		for (j=1;j<=a[i];j++)
		{
			k=Max(k,l[j]);
		}
		k++;
		l[a[i]]=k;
	}
	for (i=1;i<=3;i++)
		a1=Min(a1,n-l[i]);
	l[1]=0;l[2]=0;l[3]=0;
	for (i=n;i>=1;i--)
	{
		k=0;
		for (j=1;j<=a[i];j++)
			k=Max(k,l[j]);
		k++;
		l[a[i]]=k;
	}
	for (i=1;i<=3;i++)
		a2=Min(a2,n-l[i]);
	cout<<Min(a1,a2)<<endl;
	return 0;
}