关键观察:
因此最大和来源只有两类:
给定一个由 n 个整数构成的数组 {a1,a2,…,an} 。
如果一个子序列的长度为 1 、或其任意相邻两项之和均为 3 的倍数,则称其为 三好子序列 。
请你从原数组中选出一个三好子序列,使其元素之和最大,输出该最大和。
【名词解释】 子序列:指从原序列中删除若干元素后,保持相对顺序得到的新序列。
第一行输入一个整数 n(1≦n≦2×105) ,表示数组的长度。 第二行输入 n 个整数 a1,a2,…,an(1≦ai≦106) ,表示数组元素。
输出一个整数,表示最大三好子序列的元素和。
输入
6
1 1 4 5 1 4
输出
13
说明
在数组 {1,1,4,5,1,4} 中,所有满足任意相邻两项之和为 3 的倍数的子序列中,和最大的三好子序列为 {4,5,4} ,它对应原序列下标 {3,4,6} ,其元素和为 4+5+4=13 。