您的位置:首页 > 其它

poj1836 Alignment

2013-05-01 15:11 323 查看
#include<iostream>
#include<cstring>
#include<cstdio>
using namespace std;
int f1[1001],f2[1001];
double a[1001];
int main(){
int n;
int i,j,k;
scanf("%d",&n);
for(i=1;i<=n;i++)
scanf("%lf",&a[i]);
for(i=1;i<=n;i++)
f1[i]=f2[i]=1;
for(i=2;i<=n;i++)
for(j=1;j<i;j++)
if(a[j]<a[i])
if(f1[j]+1>f1[i])
f1[i]=f1[j]+1;
for(i=n-1;i>=1;i--)
for(j=n;j>i;j--)
if(a[j]<a[i])
if(f2[j]+1>f2[i])
f2[i]=f2[j]+1;
int maxx=0;
for(i=2;i<=n;i++)
if(f1[i]<f1[i-1])
f1[i]=f1[i-1];
for(i=n-1;i>=1;i--)
if(f2[i]<f2[i+1])
f2[i]=f2[i+1];
for(i=1;i<n;i++)
if(f1[i]+f2[i+1]>maxx)
maxx=f1[i]+f2[i+1];
printf("%d\n",n-maxx);
return 0;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: