AT_arc166_b.[ARC166B] Make Multiples

普及+/提高

通过率:0%

AC君温馨提醒

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

题目描述

给定一个整数序列 A=(A1,…,AN)A=(A_1,\ldots,A_N),以及正整数 a,b,ca, b, c。

你可以对该数列进行如下操作(可以进行任意次,包括 00 次):

  • 选择一个整数 ii,其中 1≤i≤N1\leq i\leq N,将 AiA_i 替换为 Ai+1A_i+1。

你的目标是使数列 AA 中至少各有一个元素是 aa 的倍数、bb 的倍数、cc 的倍数。请你求出达成目标所需的最小操作次数。

输入格式

输入以如下格式从标准输入读入:

NN aa bb cc

A1A_1 ⋯\cdots ANA_N

输出格式

输出达成目标所需的最小操作次数。

输入输出样例

  • 输入#1

    3 3 4 5
    8 9 11

    输出#1

    2
  • 输入#2

    3 3 4 5
    14 11 59

    输出#2

    1
  • 输入#3

    6 10 20 30
    8 17 5 28 39 13

    输出#3

    3
  • 输入#4

    1 999997 999998 999999
    123456789123456789

    输出#4

    876537210887543205

说明/提示

限制条件

  • 1≤N≤2×1051\leq N\leq 2\times 10^5
  • 1≤a,b,c≤1061\leq a, b, c \leq 10^6
  • 1≤Ai≤10181\leq A_i\leq 10^{18}

样例解释 1

通过进行 22 次操作,将 A=(8,9,11)A=(8,9,11) 变为 A=(8,10,12)A=(8,10,12),即可达成目标。

样例解释 2

通过进行 11 次操作,将 A=(14,11,59)A=(14,11,59) 变为 A=(14,11,60)A=(14,11,60),即可达成目标。

样例解释 3

通过进行 33 次操作,将 A=(8,17,5,28,39,13)A=(8,17,5,28,39,13) 变为 A=(8,17,5,30,40,13)A=(8,17,5,30,40,13),即可达成目标。

样例解释 4

通过进行 876537210887543205876537210887543205 次操作,将 A=(123456789123456789)A=(123456789123456789) 变为 A=(999994000010999994)A=(999994000010999994),即可达成目标。

由 ChatGPT 4.1 翻译

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

首页