#ARC166B. Make Multiples

Make Multiples

Make Multiples

时间限制:2s
空间限制:1024MB

题目描述

给定长度为 NN 的整数序列 A=(A1,…,AN)A=(A_1,\ldots,A_N),以及正整数 a,b,ca,b,c。

你可以进行任意多次(也可以不进行)以下操作:选择一个满足 1≤i≤N1\le i\le N 的整数 ii,将 AiA_i 替换为 Ai+1A_i+1。

你的目标是使序列 AA 中至少存在一个 aa 的倍数、至少存在一个 bb 的倍数,并且至少存在一个 cc 的倍数。同一个数可以同时满足多个条件。求达成目标所需的最少操作次数。

输入格式

输入共两行。

第一行包含四个整数 N,a,b,cN,a,b,c。

第二行包含 NN 个整数 A1,A2,…,ANA_1,A_2,\ldots,A_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\le N\le 2\times 10^5,1≤a,b,c≤1061\le a,b,c\le 10^6,1≤Ai≤10181\le A_i\le 10^{18}。

子任务编号 分值 特殊限制
1 12 a=b=ca=b=c
2 18 N≤3N\le 3
3 40 N≤80N\le 80
4 30 无特殊限制