#abc378e. [ABC378] Mod Sigma Problem

0
    ID: 9038 传统题 2000ms 1024MiB 尝试: 0 已通过: 0 难度: (无) 上传者: 标签>AtCoderABC378E前缀和模运算排序二分查找

[ABC378] Mod Sigma Problem

问题陈述

给定一个由 NN 个非负整数组成的序列 A=(A1,A2,…,AN)A = (A_1, A_2, \dots, A_N) 和一个正整数 MM。

求以下值:

$$\sum_{1 \leq l \leq r \leq N} \left( \left(\sum_{l \leq i \leq r} A_i\right) \mathbin{\mathrm{mod}} M \right).$$

这里,XmodMX \mathbin{\mathrm{mod}} M 表示非负整数 XX 除以 MM 的余数。

约束

  • 1≤N≤2×1051 \leq N \leq 2 \times 10^5
  • 1≤M≤2×1051 \leq M \leq 2 \times 10^5
  • 0≤Ai≤1090 \leq A_i \leq 10^9

输入

输入从标准输入按以下格式给出:

NMN M A1A2…ANA_1 A_2 \dots A_N

输出

输出答案。

样例输入 1

3 4
2 5 0

样例输出 1

10
  • A1modM=2A_1 \mathbin{\mathrm{mod}} M = 2
  • (A1+A2)modM=3(A_1+A_2) \mathbin{\mathrm{mod}} M = 3
  • (A1+A2+A3)modM=3(A_1+A_2+A_3) \mathbin{\mathrm{mod}} M = 3
  • A2modM=1A_2 \mathbin{\mathrm{mod}} M = 1
  • (A2+A3)modM=1(A_2+A_3) \mathbin{\mathrm{mod}} M = 1
  • A3modM=0A_3 \mathbin{\mathrm{mod}} M = 0

这些值的和为 1010。注意,外层的求和不对 MM 取模。

样例输入 2

10 100
320 578 244 604 145 839 156 857 556 400

样例输出 2

2736