CF266E.More Queries to Array...
普及/提高-
通过率:0%
AC君温馨提醒
该题目为【codeforces】题库的题目,您提交的代码将被提交至codeforces进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。
题目描述
You've got an array, consisting of n integers: a1,a2,...,an . Your task is to quickly run the queries of two types:
- Assign value x to all elements from l to r inclusive. After such query the values of the elements of array al,al+1,...,ar become equal to x .
- Calculate and print sum , where k doesn't exceed 5 . As the value of the sum can be rather large, you should print it modulo 1000000007 (109+7) .
输入格式
The first line contains two integers n and m ( 1<=n,m<=105 ), showing, how many numbers are in the array and the number of queries, correspondingly. The second line contains n integers: a1,a2,...,an ( 0<=ai<=109 ) — the initial values of the array elements.
Then m queries follow, one per line:
- The assign query has the following format: "", ( 1<=l<=r<=n; 0<=x<=109 ).
- The query to calculate the sum has the following format: "", ( 1<=l<=r<=n; 0<=k<=5 ).
All numbers in the input are integers.
输出格式
For each query to calculate the sum print an integer — the required sum modulo 1000000007 (109+7) .
输入输出样例
输入#1
4 5 5 10 2 1 ? 1 2 1 = 2 2 0 ? 2 4 3 = 1 4 1 ? 1 4 5
输出#1
25 43 1300
输入#2
3 1 1000000000 1000000000 1000000000 ? 1 3 0
输出#2
999999986