B 找山坡
题号:NC220346
时间限制:C/C++/Rust/Pascal 3秒,其他语言6秒
空间限制:C/C++/Rust/Pascal 256 M,其他语言512 M
64bit IO Format: %lld

题目描述

母牛哥在电脑面前坐久了,想站起来看看窗外的小山坡,于是就想出了这个问题:
给定一个大小为n的数组a,序号从1开始,

计算:

max{ R - L | 1 <= L <= R <= n, a[L] == a[R], 对于所有i (L <= i <= R), 满足a[i] >= a[L] }.
也就是找到两个坐标,这两个坐标的值相等,并且他们之间的值都大于等于这两个坐标上的值.
这两个坐标相减最大能是多少.

输入描述:

第一行一个整数n,第二行n个整数

输出描述:

输出题目所求的值

示例1

输入

复制
5
1 2 3 2 1

输出

复制
4

说明

当L=1,R=5时,满足题目条件的最优解,答案为R-L=5-1=4

备注:

数据范围:

1<=n<=1e6

0<=a[i]<=1e9