아직 만들고 있는 페이지입니다.

이 페이지는 아직 만드는 중입니다. 보이는 내용은 바뀔 수 있습니다.

Кратные отрезки

면접 대비

시간 제한1초메모리 제한1024 MB

요약
원소 합이 k로 나누어떨어지는 부분 배열의 개수를 구간 합의 나머지와 빈도 맵으로 센다.
난이도

보통10점 중 4점

유형
누적 합, 배열, 해시맵, 수학
정답자
아직 제출이 없습니다

문제

Задан массив натуральных чисел A=\[a_1,a_2,…,a_n]A = \[a\_1, a\_2, \ldots, a\_n]. Отрезком массива AA с ll по rr будем называть массив \[a_l,a_l+1,…,a_r]\[a\_l, a\_{l+1}, \ldots, a\_r].

Для заданного массива AA и числа kk требуется найти количество пар (l,r)(l, r), таких что l≤rl \le r и сумма чисел на отрезке массива AA с ll по rr делится на kk без остатка.

입력

На первой строке ввода заданы целые числа nn --- число элементов массива AA и kk (1≤n≤200,0001 \le n \le 200\\,000, 2≤k≤1092 \le k \le 10^9).

На второй строке заданы целые числа a_1,a_2,…,a_na\_1, a\_2, \ldots, a\_n --- элементы массива AA (1≤a_i≤1091 \le a\_i \le 10^9).

출력

Выведите одно число: количество пар (l,r)(l, r), таких что l≤rl \le r, и сумма чисел на отрезке массива AA с ll по rr делится на kk без остатка.

힌트

В примере подходят следующие отрезки:

  • l=1l = 1, r=3r = 3, отрезок \[1,2,3]\[1, 2, 3]
  • l=1l = 1, r=4r = 4, отрезок \[1,2,3,4]\[1, 2, 3, 4]
  • l=2l = 2, r=2r = 2, отрезок \[2]\[2]
  • l=2l = 2, r=5r = 5, отрезок \[2,3,4,5]\[2, 3, 4, 5]
  • l=3l = 3, r=5r = 5, отрезок \[3,4,5]\[3, 4, 5]
  • l=4l = 4, r=4r = 4, отрезок \[4]\[4]

예제1

  1. 예제 1

    입력
    5 2
    1 2 3 4 5
    
    예상 출력
    6