你打开了这道题。
你开始学习 OI,你写出了 O(n2) 做法,枚举 l 和 r,然后前缀和优化。
你上了小学,开始学习转化这题。你考虑对于 1≤i≤n,ai←ai−p。然后题目即求区间平均数大于等于 0 的序列。
你上了中学,继续思考这题。你发现 ai 转化后可以继续前缀和优化。设 sumi=j=1∑iaj,即求有多少区间 [l,r] 满足 r−l+1sumr−suml−1≥0。
你上了大学,你发现了一个性质,即若 sumr−suml−1≥0,那么 r−l+1sumr−suml−1≥0,由于 r−l+1>0。问题转化为求有多少区间 [l,r] 满足 sumr−suml−1≥0。
你读了博士,继续考虑这题。你发现 sumr−suml−1≥0 等同于 sumr≥suml−1。
然后这题就结束了,线段树或树状数组等维护逆序对即可。