比赛场次 384
比赛名称 最近的新题
比赛状态 已结束比赛成绩
开始时间 2017-07-01 14:00:00
结束时间 2017-07-01 20:00:00
开放分组 全部用户
注释介绍 部分题目排版有问题就没有放,都是水题,忙选拔赛的大佬就不用看了
题目名称 双重旋律
输入输出 melody.in/out
时间限制 2000 ms (2 s)
内存限制 256 MiB
测试点数 10 简单对比
用户 结果 时间 内存 得分

双重旋律

★☆   输入文件:melody.in   输出文件:melody.out   简单对比
时间限制:2 s   内存限制:256 MiB

【题目描述】


$Alice$是一个菜鸟作曲家,现在她准备创造另一些杰作,并且是两个同时创作!

$Alice$有一张纸上面有$n$个数字,她想要找到两个这样的非空不相交子序列分别构成旋律,并使它们的长度和最大。

子序列是可以通过删除一些元素而不改变剩余元素顺序的从另一个序列中得到的序列。

一个子序列能构成旋律,当且仅当任意相邻的两个数字相差为1或者在模7的意义下同余。

你要写一个程序,计算这两个能构成旋律的子序列的最大长度和。


【输入格式】


第一行为一个整数$n(2 ≤ n ≤ 5000)$

第二行为$n$个整数$a_1,a_2,\cdots a_n(1 ≤ ai ≤ 10^5)$即为纸上写的数字。


【输出格式】

一个整数,最大的长度和。

【样例输入】

4

1 2 4 5

【样例输出】

4

【样例输入】


6

62 22 60 61 48 49


【样例输出】

5

【提示】

第一个样例中$[1,2]$和$[4,5]$的总长最大为4。

第二个样例中$[62,48,49]$和$[60,61]$的总长最大为5。

【来源】

Codeforces

Translated by AAAAAAAAAA