2729 问题 C: 蓝桥杯2022年第十三届决赛真题-数组个数(Python组)

时间限制: 1s 内存限制: 256MB 提交: 102 解决: 17
题目描述

小蓝有一个长度为 n 的数组 B = (b0, b1, · · · , bn−1),数组 B 是由另一个长度为 n 的环形数组 A = (a0, a1, · · · , an−1) 经过一次相邻最大化操作得到的,其中 ai与 ai+1 相邻,a0 与 an−1 相邻。

形式化描述为:

蓝桥杯2022年第十三届决赛真题-数组个数(Python组)

小蓝想知道,可能有多少个满足条件的数组A,经过一次相邻最大化操作后能得到数组 B,注意 A 中的每个元素都要求为非负整数。

输入

输入的第一行包含一个整数 n ,表示数组长度。

第二行包含 n 个整数 b0, b1, · · · , bn−1,相邻两个整数之间用一个空格分隔。

输出

输出一行包含一个整数表示答案,答案可能很大,请输出答案除以 1000000007 后的余数。

样例输入
5
8 6 1 8 8
样例输出
7
提示

对于 30% 的评测用例,3 ≤ n ≤ 10;

对于 60% 的评测用例,3 ≤ n ≤ 100;

对于所有评测用例,3 ≤ n ≤ 1000 ,0 ≤ bi ≤ 10。

比赛公告

题目来着2022年蓝桥杯决赛PythonA组试题

这份题目难度非常高!

目标分数45分以上,至少Ac一题!!!