import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.StringTokenizer;
public class POJ1836 {
static int n;
static double[] num;
static int[] dp1,dp2;
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
StringTokenizer token = new StringTokenizer(br.readLine());
n = Integer.parseInt(token.nextToken());
num = new double[n + 1];
dp1 = new int[n + 1];
dp2 = new int[n + 1];
token = new StringTokenizer(br.readLine());
for (int i = 0;i < n;i++){
num[i] = Double.parseDouble(token.nextToken());
dp1[i] = 1;
dp2[i] = 1;
}
// 反向递增序列
for (int i = n - 2;i >= 0;i--){
for(int j = n - 1;j > i;j--){
if (num[i] > num[j]){
dp1[i] = Math.max(dp1[i],dp1[j] + 1);
}
}
}
//递增序列
for (int i = 1;i < n;i++){
for (int j = 0;j < i;j++){
if (num[i] > num[j]){
dp2[i] = Math.max(dp2[i],dp2[j] + 1);
}
}
}
int max = 0;
for (int i = 0;i < n;i++){
for(int j = i + 1;j < n - 1;j++){
max = Math.max(dp1[j] + dp2[i],max);
}
}
System.out.print(n - max);
}
}
先把你的需求说一下,要解决什么问题
你好,我是有问必答小助手。为了技术专家团更好地为您解答问题,烦请您补充下(1)问题背景详情,(2)您想解决的具体问题,(3)问题相关代码图片或者报错信息。便于技术专家团更好地理解问题,并给出解决方案。
您可以点击问题下方的【编辑】,进行补充修改问题。