AT_arc166_b.[ARC166B] Make Multiples
普及+/提高
通过率:0%
AC君温馨提醒
该题目为【atcoder】题库的题目,您提交的代码将被提交至atcoder进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。
题目描述
给定一个整数序列 A=(A1,…,AN),以及正整数 a,b,c。
你可以对该数列进行如下操作(可以进行任意次,包括 0 次):
- 选择一个整数 i,其中 1≤i≤N,将 Ai 替换为 Ai+1。
你的目标是使数列 A 中至少各有一个元素是 a 的倍数、b 的倍数、c 的倍数。请你求出达成目标所需的最小操作次数。
输入格式
输入以如下格式从标准输入读入:
N a b c
A1 ⋯ AN
输出格式
输出达成目标所需的最小操作次数。
输入输出样例
输入#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×105
- 1≤a,b,c≤106
- 1≤Ai≤1018
样例解释 1
通过进行 2 次操作,将 A=(8,9,11) 变为 A=(8,10,12),即可达成目标。
样例解释 2
通过进行 1 次操作,将 A=(14,11,59) 变为 A=(14,11,60),即可达成目标。
样例解释 3
通过进行 3 次操作,将 A=(8,17,5,28,39,13) 变为 A=(8,17,5,30,40,13),即可达成目标。
样例解释 4
通过进行 876537210887543205 次操作,将 A=(123456789123456789) 变为 A=(999994000010999994),即可达成目标。
由 ChatGPT 4.1 翻译
输入解题思路,AI测评打分。不知道怎么写?