AT_abc419_e.[ABC419E] Subarray Sum Divisibility

普及+/提高

通过率:0%

AC君温馨提醒

该题目为【atcoder】题库的题目,您提交的代码将被提交至atcoder进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。

题目描述

给定一个长度为 NN 的整数序列 A=(A1,A2,…,AN)A = (A_1, A_2, \ldots, A_N)。

你的目标是反复执行如下操作,使得对于 AA 的每一个长度为 LL 的连续子数组,其元素和都是 MM 的倍数。

  • 选择一个整数 ii,其中 1≤i≤N1 \leq i \leq N,并将 AiA_i 的值增加 11。

请你求出在达成目标前,最少需要执行多少次操作。

输入格式

输入从标准输入读取,格式如下:

NN MM LL

A1A_1 A2A_2 …\ldots ANA_N

输出格式

输出答案。

输入输出样例

  • 输入#1

    4 5 3
    4 2 1 3

    输出#1

    4
  • 输入#2

    7 10 4
    7 0 9 1 6 4 2

    输出#2

    10

说明/提示

样例解释 1

通过选择 i=2i = 2 执行一次操作,选择 i=3i = 3 执行两次操作,选择 i=4i = 4 执行一次操作,总共进行了四次操作后,可以得到 A=(4,3,3,4)A = (4, 3, 3, 4),此时每个长度为 33 的连续子数组的元素和都是 55 的倍数。

数据范围

  • 1≤N,M≤5001 \leq N, M \leq 500
  • 1≤L≤N1 \leq L \leq N
  • 0≤Ai<M0 \leq A_i < M
  • 所有输入值均为整数。

由 ChatGPT 4.1 翻译

输入解题思路,AI测评打分。不知道怎么写?

首页