목차

∑|ΔEasyMAX|

ps
링크acmicpc.net/…
출처BOJ
문제 번호17203
문제명∑|ΔEasyMAX|
레벨실버 4
분류

누적합

시간복잡도O(n+q)
인풋사이즈n<=1000, q<=1000
사용한 언어Python
제출기록30840KB / 76ms
해결날짜2022/05/29
태그

[라이] 구간합 배열

풀이

코드

"""Solution code for "BOJ 17203. ∑|ΔEasyMAX|".

- Problem link: https://www.acmicpc.net/problem/17203
- Solution link: http://www.teferi.net/ps/problems/boj/17203

Tags: [Prefix sum]
"""

import itertools
import sys


def main():
    # pylint: disable=unused-variable
    N, Q = [int(x) for x in sys.stdin.readline().split()]
    a = [int(x) for x in sys.stdin.readline().split()]
    v = a[0]
    diff_psum = [0, v] + [v := v + abs(y - x) for x, y in itertools.pairwise(a)]

    for _ in range(Q):
        l, r = [int(x) for x in sys.stdin.readline().split()]
        print(diff_psum[r] - diff_psum[l])


if __name__ == '__main__':
    main()