>209
>213
Eは、前処理で累積和の計算をしておけば、x毎にO(1)で済むから、O(N)
累積和の前処理は、操作前の明るさと操作後の明るさで張られる2次元平面上の、重み付けされた三角形が対象。
1つずらした位置との重み付けした三角形との差分を取ると、
重み付けした線分上(操作後の明るさ一定の方向)の累積和と、重みなしの三角形の累積和があれば良いことになる。
重みなしの三角形の累積和は、さらに差分をとると、水平方向と垂直方向の、決まった範囲の和に分解できる。
これらの前処理は、O(N+M)で出来る。
なので、全体でO(N+M)