#include <iostream>
#include <algorithm>
#include <queue>
#include <vector>
#include <cstring>
#include <string>
#include <string.h>
#include <stdio.h>
#include <cmath>
#include <map>
#include <functional>
#include <set>
using namespace std;
//1131
int stu[101],a[101],b[101];
int n;
int main(){
//freopen("input.txt","r",stdin);
while(scanf("%d",&n)!=EOF){
memset(a,0,sizeof(a));
memset(b,0,sizeof(b));
for(int i=1;i<=n;i++)
scanf("%d",&stu[i]);
for(int i=1;i<=n;i++){
a[i]=1;
for(int j=1;j<i;j++){
if(stu[j]<stu[i])
a[i]=max(a[i],a[j]+1);
}
}
for(int i=n;i>=1;i--){
b[i]=1;
for(int j=n;j>i;j--){
if(stu[j]<stu[i])
b[i]=max(b[i],b[j]+1);
}
}
int mx=-1;
for(int i=1;i<=n;i++)
if(a[i]+b[i]>mx)
mx=a[i]+b[i];
mx--;
printf("%d\n",n-mx);
}
return 0;
}
/**************************************************************
Problem: 1131
User: cust123
Language: C++
Result: Accepted
Time:730 ms
Memory:1520 kb
****************************************************************/
题目1131:合唱队形
最新推荐文章于 2024-11-08 18:49:12 发布