logo AlgoBeat OnlineJudge
登录 注册

#101919. [BZOJ 1919] [Ctsc2010]性能优化

内存限制:512 MiB 时间限制:1000 ms 标准输入输出
题目类型:传统 评测方式:无测试数据
上传者: 匿名

题目描述

程序员小明正在开发一套大型软件,软件中有一段核心程序,用伪代码描述如下(假设所有变量初值均为 ,并且假定其中的数据类型均不会出现溢出):

Input a[0], a[1], ... , a[n - 1], b[0], b[1], ... , b[n - 1], C
For i: 0 to n - 1
	x[0, i] = a[i]
For i: 0 to C - 1
	For j: 0 to n - 1
		For k: 0 to n - 1
			x[i + 1, (j + k) mod n] = x[i + 1, (j + k) mod n] + b[k]x[i, j]
Output x[C, 0] mod (n + 1), x[C, 1] mod (n + 1), ... , x[C, n - 1] mod (n + 1)

但是,这段程序的效率非常低,它的时间复杂度高达 。他想让你帮忙优化一下这个程序,当然要求输出相同的结果。为了使问题更简单,他保证输入的 能表示成若干个不超过 的正整数的乘积,并且 是质数。

输入格式

规范起见,以下将下标统一写到数组名称的右下角。例如: 对应伪代码中的 a[1] 对应伪代码中的 x[C,0]

输入的第一行包含两个非负整数

接下来一行包含 个非负整数

接下来一行包含 个非负整数

输出格式

输出包含 行,每行包含一个数。第 行为 的值。你需要保证输出的数在 之间。

样例

样例输入 #1

4 1
1 2 3 4
4 3 3 1

样例输出 #1

2
1
0
2

说明/提示

总共 个测试点,数据范围满足:

测试点
1
2
3
4
5
6
7
8
9
10

在所有输入数据中, 均不超过