记录编号 31829 评测结果 AAAAAAAAAAA
题目名称 [USACO Feb08] 麻烦的聚餐 最终得分 100
用户昵称 GravatarYeehok 是否通过 通过
代码语言 C++ 运行时间 0.014 s
提交时间 2011-11-04 08:59:37 内存使用 0.32 MiB
显示代码纯文本
#include<cstdio>
using namespace std;
short lis[30001]={0};
int ansup[4]={0},n,ansdown[4]={0};
int main(void)
{
	freopen("egroup.in","r",stdin);
	freopen("egroup.out","w",stdout);
	scanf("%d",&n);
	int i,j;
	for(i=0;i<n;i++)
	{
		scanf("%d\n",&lis[i]);
	}
	int tmp;
	for(i=0;i<n;i++)
    {
        tmp=0;
        for(j=1;j<=lis[i];j++)
            if(ansup[j]>tmp)
                tmp=ansup[j];
        tmp++;
        ansup[lis[i]]=tmp;
    }
	for(i=n-1;i>=0;i--)
    {
        tmp=0;
        for(j=1;j<=lis[i];j++)
            if (ansdown[j]>tmp)
                tmp=ansdown[j];
        tmp++;
        ansdown[lis[i]]=tmp;
    }
	int up=0,down=0;
	for(i=1;i<=3;i++)
	{
		if(ansup[i]>up)
			up=ansup[i];
		if(ansdown[i]>down)
			down=ansdown[i];
	}
	printf("%d\n",n-(up>down ? up:down));
	fclose(stdin);
	fclose(stdout);
	return (0);
}