七倍龙珠(sevenbead)
题目描述
有一个广为流传的神话:“凑齐七颗龙珠,就可以召唤神龙”。小Z听到这个传说以后激动不已,下定决心一定要凑齐七颗龙珠,召唤神龙。从此,小Z踏上了寻找七龙珠的艰辛路途,经过漫长而又艰苦的跋涉,小Z终于找到了传说中的龙珠山,此情此景,让小Z激动不已,小Z仰天大笑:“哈哈哈, 我终于可以召唤神龙了”。然而就在他笑声结束的一刹那,一个白胡子老爷爷出现了,他对小Z说道:“小伙子,不要高兴的太早,规则改了,你首先要破解我的谜题,才可以召唤神龙”,小Z大惊失色,赶忙问道什么谜题?白胡子老爷爷手一挥,在小Z的面前出现了N颗排成一行的龙珠,每个龙珠上都有一个数字D,白胡子老爷爷说道,你可以从这N个龙珠中,选出连续的一些龙珠,但是有三个要求,第一,只可以连续的选取,不可以跳着选。第二:你选出的所有龙珠上的数字之和必须是7的倍数。第三:选取的龙珠要尽可能的多。最后白胡子老爷爷说道:“看你辛辛苦苦来到这里也不容易,你只需要告诉我在满足条件的前提下,最多可以收集到多少颗龙珠就可以了”。听到这里小科已经傻了,显然作为一个勇士,解决这类问题不是小科的强项,现在小Z希望你能帮他解决这个问题,如果你能成功的帮助他解决这个问题,他会把神龙借你骑几天。
输入格式
输入文件:sevenbead.in
第一行:一个正数N,代表龙珠的总数量。
第二行:N个用空格分隔的正整数,其中第i个正整数代表第i个龙珠上的数字Di。
输出格式
输出文件:sevenbead.out
一行,一个正整数,可以选取的龙珠的最大数量,如果不存在满足条件的龙珠则输出0.
输入输出样列
输入样例1:
8
1 8 7 6 5 4 2 3
输出样例1:
7
输入样例2:
3
1 2 3
输出样例2:
0
输入样例3:
5
7 1 1 1 1
输出样例3:
1
说明
样例1:8 + 7 + 6 + 5 + 4 + 2 + 3 = 35是7的倍数。最多可选取7个连续的龙珠。<

这是一道关于计算问题的编程挑战。题目描述了一位寻找龙珠的小Z需要解决一个数学谜题,即从一串包含不同数字的龙珠中,找出连续的龙珠,使得它们的数字和为7的倍数。要求选取的龙珠数量尽可能多。输入包含龙珠总数及每个龙珠的数字,输出能选取的龙珠最大数量。当不存在满足条件的连续龙珠时,输出0。题目提供了一些输入输出样例,并给出了解决问题的思路和AC代码,时间复杂度为O(N)。
最低0.47元/天 解锁文章
17万+

被折叠的 条评论
为什么被折叠?



