#T1146. 花园树木
花园树木
题目背景
第十四届蓝桥STEMA青少年组2023年1月C++组第5题
题目描述
某公园有 棵树排成一排,已知每棵树的高度。现要去掉一些树,使得剩下树的高度从左至右呈现先递增再递减的规律(即剩余的树中仅有一棵最高的树,且它左侧的所有树中后一棵树都要比前一棵树高,它右侧的所有树中后一棵树都要比前一棵树矮)。
给出 N 棵树的高度(高度单位:m,,保留一位小数),请你计算出最少去掉几棵树才能使这排树呈现先递增再递减的规律,如果不能呈现则输出-1(只有递增或者只有递减都为不能呈现)。
例如:N=10,10棵树的高度从左到右依次为 1.0、2.3、1.2、1.7、1.1、2.0、1.8、1.8、1.2、1.9。要使这排树呈现先递增再递减的规律,最少去掉4棵树,去掉的编号分别为2、5、8、10。
剩余树的高度依次为 1.0、1.2、1.7、2.0、1.8、1.2,最高树为2.0,其左侧树的高度依次为 1.0、1.2、1.7、2.0,呈现递增趋势(从左至右且包含最高树);其右侧树的高度依次为2.0、1.8、1.2,呈现递减趋势(从左至右且包含最高树)。
输入格式
第一行输入一个正整数 ,表示这排树的数量 第二行输入 N 个数,保留一位小数),表示每棵树的高度,每个数之间以一个空格隔开。
输出格式
输出一个整数,表示最少去掉几棵树才能使这排树呈现先递增再递减的规律,如果不能呈现则输出 -1。
样例 #1
样例输入 #1
10
1.0 2.3 1.2 1.7 1.1 2.0 1.8 1.8 1.2 1.9
样例输出 #1
4