#P7810. [JRKSJ R2] Upper

    ID: 7076 Type: RemoteJudge 1500ms 256MiB Tried: 0 Accepted: 0 Difficulty: 4 Uploaded By: Tags>动态规划,dp线段树2021洛谷原创O2优化素数判断,质数,筛法

[JRKSJ R2] Upper

题目描述

nn 张扑克,第 ii 张扑克上写有一个正整数 aia_i

现在要把扑克划分成若干个合法的连续子段,其中,一个连续子段 [l,r][l,r] “合法”当且仅当这个子段同时满足两个条件:

  • al<ara_l< a_r
  • gcd(al,ar)>1\gcd(a_l,a_r)>1

请问最多能划分多少段。如果没有合法的划分方案,输出 1-1 即可。

如果您不知道 gcd\gcd 是什么意思,请看“提示”部分。

输入格式

第一行一个整数 nn
第二行 nn 个整数表示序列 aa

输出格式

一个整数,如题目描述所示。

5
2 1 8 3 9
2
5
5 4 3 2 1
-1
20
20 9 36 36 40 8 3 10 9 20 18 12 30 20 30 15 8 9 27 45
7

提示

数据范围

本题采用捆绑测试。

对于 100%100\% 的数据,2n1052\le n\le 10^51ai1091\le a_i\le 10^9

Subtask\text{Subtask} nn\le aia_i\le 特殊性质 分值
11 55 10910^9 55
22 3×1033\times10^3 1515
33 2×1042\times10^4 10610^6 2020
44 2×1042\times 10^4 10910^9 1010
55 10510^5 数据随机
66 4040

样例解释

对于样例 11,有且仅有一种划分方案 {2,1,8},{3,9}\{2,1,8\},\{3,9\}
对于样例 22,无合法的划分方案。

提示

对于两个正整数 a,ba,bgcd(a,b)\gcd(a,b) 为它们的最大公因数,即满足既是 aa 的因数又是 bb 的因数的数中最大的数。