比赛 20111102 评测结果 ATAAAAWAAAA
题目名称 麻烦的聚餐 最终得分 81
用户昵称 song 运行时间 0.000 s
代码语言 C++ 内存使用 0.00 MiB
提交时间 2011-11-02 20:57:46
显示代码纯文本
#include<iostream>
#include<cstdio>
using namespace std;
int xia[31000][3]={0},shang[31000][3]={0},n;
int main()
{
	int maxx=0,maxs=0;
	freopen("egroup.in","r",stdin);
	freopen("egroup.out","w",stdout);
	cin>>n;
	for(int i=0;i<n;i++)
	{
		cin>>xia[i][0];
		shang[i][0]=xia[i][0];
	}
	xia[n-1][1]=1;
	for(int i=n-1;i>=0;i--)
	{
		for(int j=i+1;j<n;j++)
		{
			if(xia[i][0]>=xia[j][0]&&xia[i][1]<=xia[j][1])
			{
				xia[i][1]=xia[j][1]+1;
				if(xia[i][1]>maxx)
				{
					maxx=xia[i][1];
				}
			}
		}
	}
	shang[0][1]=1;
	for(int i=0;i<n;i++)
	{
		for(int j=i-1;j>=0;j--)
		{
			if(shang[i][0]>shang[j][0]&&shang[i][1]<=shang[j][1])
			{
				shang[i][1]=shang[j][1]+1;
				if(shang[i][1]>maxs)
				{
					maxs=shang[i][1];
				}
			}
		}
	}
	int p1,p2;
	p1=n-maxx;
	p2=n-maxs;
	if(p1<p2)
	{
		cout<<p1;
	}
	else
		cout<<p2;
}