NC220368. I母牛哥与子序列
描述
输入描述
第一行为 n,表示这个序列长度为 n (1 <= n <= 10^6)。接下来的一行有 n 个数字 a1, a2, …… , an (1 <= ai <= 2 * 10^9) 表示序列的 n 个数字。
输出描述
一个非负整数,表示结果对 1000000007 取模。
示例1
输入:
3 1 2 3
输出:
23
示例2
输入:
2 1 1
输出:
3
pypy3 解法, 执行用时: 604ms, 内存消耗: 134000K, 提交时间: 2023-08-12 15:18:48
n = int(input()) a = list(map(int, input().split())) res = 1 for i in range(0, n): res *= (a[i] + 1) res %= 1000000007 print(int((res - 1) % 1000000007))
Python3(3.9) 解法, 执行用时: 550ms, 内存消耗: 118324K, 提交时间: 2021-03-28 09:39:33
n=int(input()) ans=1 mod=1000000007 a=list(map(int,input().split(" "))); for i in range(0,n): ans=(ans%mod*(a[i]+1)%mod)%mod pass ans-=1 print(ans%mod)
C++(clang++11) 解法, 执行用时: 322ms, 内存消耗: 412K, 提交时间: 2021-03-27 21:53:24
#include <iostream> long long n,r,x;int main(){std::cin>>n;while(n--){std::cin>>x;r=(r*(1+x)+x)%(int)(1e9+7);}std::cout<<r;}