#12771. Subsequences Summing to Sevens
Subsequences Summing to Sevens
🐄 Subsequences Summing to Sevens
USACO 2016 January Contest · Silver
农夫 John 的 N 头奶牛正站成一排(她们似乎时不时就喜欢这样排队)。
每头奶牛都有一个 唯一的整数编号 ID,这样农夫 John 才能区分它们。
农夫 John 想给 一段连续的奶牛拍照。但由于童年时期与数字 1…6 有过一段不太愉快的经历,他只愿意拍摄 编号之和是 7 的倍数 的奶牛群。
请你帮助农夫 John 计算:
他最多可以拍摄 多少头连续的奶牛。
输入格式(div7.in)
第一行包含一个整数:
N
表示奶牛的数量。
接下来 N 行,每行包含一个整数,表示一头奶牛的 编号 ID。
数据范围:
- 每个 ID 的范围为
输出格式(div7.out)
输出一个整数:
最大连续奶牛数量
即 编号之和为 7 的倍数的最长连续子段长度。
如果不存在这样的连续子段,则输出:
0
注意事项
如果连续区间很大,其编号总和可能 超过 32 位整数的范围。
因此在 C/C++ 中,计算总和时建议使用 **64 位整数类型 long long**。
样例输入
7
3
5
1
6
2
14
10
样例输出
5
样例解释
存在一段连续子序列:
5 1 6 2 14
它们的和为:
5 + 1 + 6 + 2 + 14 = 28
而:
28 是 7 的倍数
因此最长满足条件的连续子段长度为 5。