编程题
### 问题描述 桥田君参加游戏比赛嬴得了一个宝石彩带,这个宝石彩带上只有红,黄两种宝石。由于这个彩带很长,所以我们只能用一个数组来表示:第一个元素 $a_1$ 表示彩带开头有 $a_1$ ​个红宝石,第二个元素 $a_2$ ​表示紧接着有 $a_2$ ​个黄宝石,第三个元素 $a_3$ ​表示紧接着有 $a_3$ 个红宝石,以此类推,这样就表示了一个长度为 $\sum_{i=1}^{N}{a_i}$ ​的宝石彩带。 不过桥田君并不只满足获得了这个宝石彩带,他还想知道这个彩带上有多少个 "完美宝石串"。所谓的 "完美宝石串" 是指对于一段连续的宝石,无论它从左往右读,还是从右往左读,都是相同的,例如 "红红黄黄红红" 就是一个 "完美宝石串"。请你帮助桥田君来解决这个问题吧!由于答案可能过大,请对 $10^9+7$ 取模。 ### 输入格式 第一行一个正整数 $N$,表示数组的大小。 第二行 $N$ 个整数 $a_i$,代表数组的元素。 ### 输出格式 输出共一行,输出一个整数表示 "完美宝石串" 的个数,答案对 $10^9+7$ 取模。 ### 样例输入 ```text 3 1 1 1 ``` ### 样例输出 ```text 4 ``` ### 说明 样例中,宝石彩带为 "红黄红",在这其中长度为 $1$ 的 "完美宝石串" 有三个,分别为 "红"、"黄"、"红";长度为 $3$ 的 "完美宝石串" 有一个,为 "红黄红",所以总共有 $4$ 个 "完美宝石串"。 ### 评测数据规模 对于所有评测数据,$1 \leq N \leq 4 \times 10^4$,$1 \leq a_i \leq 10^9$。
查看答案
赣ICP备20007335号-2