#G3003. 温度曲线
温度曲线
题目描述
气象小组记录了连续 天的最高气温 (单位:摄氏度,可能是负数)。
请你回答两个问题:
- 气温连续严格上升的最长一段有多少天,以及这一段是从第几天开始的。所谓"连续严格上升",是指这一段里每一天都比前一天高(相等不算上升)。如果有多段长度并列最长,输出最早开始的那一段。特别地,单独的一天也算作一段长度为 的上升段,所以这一问的答案至少是 。
- 相邻两天之间温差的绝对值,最大是多少。特别地,当 时,规定这个答案为 。
输入格式
第一行一个整数 ,表示记录的天数。
第二行 个整数 ,表示每天的最高气温。
输出格式
第一行两个整数,分别表示最长连续严格上升段的天数和它的起始天编号(天从 开始编号),用空格分隔。
第二行一个整数,表示相邻两天温差绝对值的最大值。
样例 #1
样例输入 #1
9
3 5 8 2 2 4 7 9 1
样例输出 #1
4 5
8
样例解释
连续严格上升的段有:第 天(,长 天)、第 天(,长 天)。
第 天和第 天都是 ,相等不算上升,所以上升段在这里断开了。最长的一段是 天,从第 天开始。
相邻温差依次是 ,最大的是最后一对( 和 )的 。
提示
数据范围
- 对于 的数据:;
- 对于 的数据:;
- 对于 的数据:,。
提示
- 两个问题都可以在同一次遍历中解决,不需要嵌套循环。
- 维护"当前上升段的长度"和"当前上升段的起点"两个变量:气温上升就把长度加一,否则把长度重置为 、起点重置为当前这一天。
- 只有当当前长度严格大于历史最优长度时才更新答案,这样并列时保留的就是最早的那一段。
相关
在下列比赛中: