传统题 文件IO:period 1000ms 512MiB

连续时段

该比赛已结束,您无法在比赛模式下递交该题目。您可以点击“在题库中打开”以普通模式查看和递交本题。

题目描述

本题使用文件输入输出:输入文件名为 period.in,输出文件名为 period.out。

小 Z 的小店连续营业了 nn 天,第 ii 天的营业额是 aia_i 元。

小 Z 想做一次「整数倍促销」复盘:找出所有满足下面两个条件的连续时段 [l,r][l, r](1≤l≤r≤n1 \le l \le r \le n):

  1. 时段的长度 r−l+1r - l + 1 不超过 LL;
  2. 时段内的营业额总和 al+al+1+⋯+ara_l + a_{l+1} + \cdots + a_r 是 kk 的倍数。

请你求出这样的连续时段一共有多少个。

输入格式

输入文件名为 period.in。

第一行三个整数 n,k,Ln, k, L。

第二行 nn 个整数 a1,a2,…,ana_1, a_2, \dots, a_n。

输出格式

输出文件名为 period.out。

一行一个整数,表示满足条件的连续时段的个数。

样例 #1

样例输入 #1

5 3 3
1 2 3 4 5

样例输出 #1

6

样例解释

长度不超过 33 且总和是 33 的倍数的时段有:[3,3][3,3](和 33)、[1,2][1,2](和 33)、[4,5][4,5](和 99)、[1,3][1,3](和 66)、[2,4][2,4](和 99)、[3,5][3,5](和 1212),共 66 个。

[1,5][1,5] 的和是 1515,也是 33 的倍数,但长度为 55 超过了 L=3L = 3,不算。

样例 #2

样例输入 #2

4 2 4
2 2 2 2

样例输出 #2

10

样例解释

任何一个时段的和都是偶数,44 天共有 4+3+2+1=104+3+2+1 = 10 个时段。

提示

数据范围

  • 对于 30%30\% 的数据:n≤200n \le 200;
  • 对于 60%60\% 的数据:n≤2×105n \le 2 \times 10^5,L=nL = n;
  • 对于 100%100\% 的数据:1≤n≤2×1051 \le n \le 2 \times 10^5,1≤k≤1051 \le k \le 10^5,1≤L≤n1 \le L \le n,1≤ai≤1091 \le a_i \le 10^9。

提示:答案可能超过 3232 位整数的范围。

CSP模拟赛-Level B

未参加
状态
已结束
规则
OI
题目
6
开始于
2026-10-7 21:15
结束于
2026-10-16 5:15
持续时间
200 小时
主持人
参赛人数
7