押韵诗
源程序名 rhyme.???(pas|c|cpp)
输入文件名 rhyme.in
输出文件名 rhyme.out
时间限制 1s/testcase
空间限制 32MB
- 问题描述
业余作家Andrew想要写他的第一首抽象诗。由于诗歌的意义对于抽象诗意义不大,Andrew想用非同寻常的词语组合打动读者。现在,他为未来的诗歌准备了N行诗句,不过Andrew突然意识到这些诗并不押韵。
虽然是抽象派艺术家,Andrew仍然非常想遵循古诗的押韵。诗歌被分为若干段,每段都是四行诗。每一句诗都有一个韵脚,假如A和B表示两种不同的韵脚,每段四行诗的韵脚只可能是 “AABB”, “ABAB”, “ABBA” 和“AAAA”中的一种。
Andrew将诗句的韵脚都编了号,具有相同编号的句子代表有相同的韵脚。现在,Andrew想删掉一些句子,使得剩下的都是遵循押韵规则的四行诗。
请帮Andrew找出满足条件最长的诗歌。当然了,Andrew是不愿意改变诗句的顺序的。
- 输入数据
数据第一行包括整数N(1<=N<=4000),代表Andrew诗歌的句子数。接下来N个整数分别表示每一行诗的韵脚。这些数字都是不超过10^9的正数。
- 输出数据
一行一个整数k,为Andrew最多能够得到的四行诗个数。
- 样例输入
15
1 2 3 1 2 1 2 3 3 2 1 1 3 2 2
- 样例输出
3
- 提示
样例分成三段四行诗,分别为:
1 2 4 5
7 8 9 10
11 12 14 15