记录编号 47891 评测结果 AAAAAAAAAA
题目名称 [NOIP 2004]合唱队形 最终得分 100
用户昵称 Gravatarcstdio 是否通过 通过
代码语言 C++ 运行时间 0.003 s
提交时间 2012-11-03 16:51:36 内存使用 0.31 MiB
显示代码纯文本
#include<iostream>
#include<cstdio>
using namespace std;
const int SIZEN=101;
int n;
void maxl(int s[],int f[]){//最长不下降存于f
	int i,j;
	f[0]=1;
	for(i=1;i<n;i++){
		f[i]=1;
		for(j=0;j<i;j++) if(s[j]<s[i]&&f[j]+1>=f[i]) f[i]=f[j]+1;
	}
}
int main(){
	freopen("chorus.in","r",stdin);
	freopen("chorus.out","w",stdout);
	scanf("%d",&n);
	int i,ans=-1;
	int pos[SIZEN]={0},rev[SIZEN]={0},fp[SIZEN]={0},fr[SIZEN]={0};
	for(i=0;i<n;i++){
		scanf("%d",&pos[i]);
		rev[n-1-i]=pos[i];
	}
	maxl(pos,fp),maxl(rev,fr);
	for(i=0;i<n;i++) if(fp[i]+fr[n-1-i]>ans) ans=fp[i]+fr[n-1-i];
	ans--;//两边都算上了这个人,减掉
	printf("%d\n",n-ans);
	return 0;
}