from itertools import accumulate
MOD = 1000000007
def get_presum(a):
sum = list(accumulate(a))
return sum
def get_sum(sum, l, r):
if l == 0:
return sum[r]
else:
return sum[r] - sum[l-1]
n, m = map(int, input().split())
a = list(map(int, input().split()))
sum_list = []
for i in range(1,6):
tmp_a = [x**i for x in a]
sum_list.append(get_presum(tmp_a))
for i in range(m):
l, r, k = map(int,input().split())
print((get_sum(sum_list[k-1], l-1, r-1))%MOD)
蓝桥3382--区间次方和
最新推荐文章于 2024-07-11 19:45:38 发布