목차

나머지 합

ps
링크acmicpc.net/…
출처BOJ
문제 번호10986
문제명나머지 합
레벨골드 3
분류

누적합

시간복잡도O(n)
인풋사이즈n<=10^6
사용한 언어Python
제출기록148896KB / 600ms
최고기록484ms
해결날짜2022/05/31
태그

[단계]누적 합, [라이]구간합 배열

풀이

코드

"""Solution code for "BOJ 10986. 나머지 합".

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

Tags: [Prefix sum]
"""

import collections


def main():
    N, M = [int(x) for x in input().split()]  # pylint: disable=unused-variable
    A = [int(x) for x in input().split()]

    prefix_sum = [ps := 0] + [ps := (ps + x) % M for x in A]
    counter = collections.Counter(prefix_sum)
    print(sum(x * (x - 1) // 2 for x in counter.values()))


if __name__ == '__main__':
    main()