f(l,r)>0f(l, r) > 0 、すなわち al,al+1,al+2,...,ara_l, a_{l+1}, a_{l+2}, ..., a_r がすべて異なる時、lirl \leq i \leq rf(l,i)>0f(l, i) > 0 とわかります。

1lN1 \leq l \leq N に対して最大の rr を求めることを考えます。 これは尺取り法により、O(N)O(N) で全ての ll に対して rr を求めることができます。

次に、lirf(l,i)\displaystyle \sum_{l \leq i \leq r} f(l, i) を求めることを考えます。

式変形をすると、

lirf(l,i)=(al)+(al+al+1)+(al+al+1+al+2)++(al+al+1+al+2++ar)=al×(rl+1)+al+1×(rl)+al+2×(rl1)++ar\displaystyle \sum_{l \leq i \leq r} f(l, i) = (a_l) + (a_l + a_{l+1}) + (a_l + a_{l+1} + a_{l+2}) + \cdots + (a_l + a_{l+1} + a_{l+2} + \cdots + a_r)\\ = a_l \times (r - l + 1) + a_{l+1} \times (r - l) + a_{l+2} \times (r - l - 1) + \cdots + a_r

となります。

S0=0,1iN\displaystyle S_0 = 0, 1 \leq i \leq N Si=1jiai S_i = \sum_{1 \leq j \leq i} a_i\\ T0=0,1iN\displaystyle T_0 = 0, 1 \leq i \leq N Ti=1jiai×(Ni+1) T_i = \sum_{1 \leq j \leq i} a_i \times (N - i + 1)

のような S,TS, T を用意しておくことで、

lirf(l,i)=TrTl1(SrSl1)×(nr)\displaystyle \sum_{l \leq i \leq r} f(l, i) = T_r - T_{l-1} - (Sr - S_{l-1}) \times (n - r)

と計算することで、O(1)O(1) で求めることができます。

全体の計算量は O(N)O(N) なので、十分間に合います。